sys.objects (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsSQL Analytics-végpont a Microsoft FabricbanWarehouse a Microsoft Fabricban

Minden adatbázisban létrehozott felhasználó által definiált, séma-hatókörű objektumhoz tartalmaz egy sort, beleértve a natívan lefordított skaláris, felhasználó által definiált függvényeket is.

További információ: Skaláris User-Defined függvények In-Memory OLTP-hez.

Note

sys.objects nem mutat DDL triggereket, mert nem séma-fokusok. Minden trigger, mind DML, mind DDL, megtalálható a sys.triggers adatbázisban. sys.triggers Támogatja a különböző trigger-típusok névmeghatározó szabályait.

Oszlop név Adattípus Description
name sysname Objektum neve.
object_id int Objektumazonosító szám. Az adatbázison belül egyedi.
principal_id int Az egyéni tulajdonos azonosítója, ha eltér a séma tulajdonosától. Alapértelmezés szerint a sémában lévő objektumok a séma tulajdonosa maradnak. Azonban alternatív tulajdonos is megnevezhető azzal, hogy a ALTER AUTHORIZATION kijelentést használjuk a tulajdonosváltáshoz.

NULL Ha nincs alternatív egyéni tulajdonos.

Akkor NULL van, ha az objektumtípus az alábbi értékek egyike:

C = Ellenőrizd a korlátozást
D = Alapértelmezett (korlát vagy önálló)
F = Idegen billentyűs korlátozás
PK = Elsődleges kulcskorlát
R = Rule (régi stílusú, önálló)
TA = Assembly (CLR-integráció) trigger
TR = SQL trigger
UQ = Egyedi korlátozás
EC = Élkorlát
schema_id int Az objektum tartalmazott sémának azonosítója.

Séma-szkábított rendszerobjektumok mindig tartalmazzák a rendszer- vagy INFORMATION_SCHEMA sémákat.
parent_object_id int Az objektum azonosítója, amelyhez ez az objektum tartozik.

0 = Nem gyerek tárgy.
type char(2) Objektumtípus:

AF = Aggregált függvény (CLR)
C = Ellenőrizd a korlátozást
D = Alapértelmezett (korlát vagy önálló)
F = Idegen billentyűs korlátozás
FN = SQL skalárfüggvény
FS = Assembly (CLR) skalárfüggvény
FT = Assembly (CLR) táblázatértékű függvény
IF = SQL inline táblázatértékű függvény (TVF)
IT = Belső táblázat
P = SQL tárolt eljárás
PC = Assembly (CLR) tárolt eljárás
PG = Terv útmutató
PK = Elsődleges kulcskorlát
R = Rule (régi stílusú, önálló)
RF = Replikáció-szűrő-eljárás
S = Rendszer alaptábla
SN = Szinonim
SO = Szekvenciaobjektum
U = Tábla (felhasználó által definiálva)
V = Megtekintés

A: SQL Server 2012 (11.x) és újabb verziók

SQ = Szolgáltatási sor
TA = Assembly (CLR) DML trigger
TF = SQL táblázatértékű függvény (TVF)
TR = SQL DML trigger
TT = Táblatípus
UQ = egyedi korlátozás
X = Kibővített tárolt eljárás

Apply to: SQL Server 2014 (12.x) and later versions, Azure SQL Database, Azure Synapse Analytics

ST = Statisztikai fa

Apply to: SQL Server 2016 (13.x) and later versions, Azure SQL Database, Azure Synapse Analytics

ET = Külső tábla

Apply to: SQL Server 2017 (14.x) and later versions, Azure SQL Database, Azure Synapse Analytics

EC = Élkorlát
type_desc nvarchar(60) Az objektumtípus leírása:

AGGREGATE_FUNCTION
CHECK_CONSTRAINT
CLR_SCALAR_FUNCTION
CLR_STORED_PROCEDURE
CLR_TABLE_VALUED_FUNCTION
CLR_TRIGGER
DEFAULT_CONSTRAINT
EDGE_CONSTRAINT
EXTENDED_STORED_PROCEDURE
FOREIGN_KEY_CONSTRAINT
INTERNAL_TABLE
PLAN_GUIDE
PRIMARY_KEY_CONSTRAINT
REPLICATION_FILTER_PROCEDURE
RULE
SEQUENCE_OBJECT
SERVICE_QUEUE
SQL_INLINE_TABLE_VALUED_FUNCTION
SQL_SCALAR_FUNCTION
SQL_STORED_PROCEDURE
SQL_TABLE_VALUED_FUNCTION
SQL_TRIGGER
SYNONYM
SYSTEM_TABLE
TYPE_TABLE
UNIQUE_CONSTRAINT
USER_TABLE
VIEW
create_date datetime Az objektum létrehozásának dátuma.
modify_date datetime Az objektum utolsó módosításának dátuma egy utasítás használatával ALTER . Ha az objektum tábla vagy nézet, akkor modify_date is változik, amikor a táblán vagy nézeten indexet hoznak létre vagy módosítanak.
is_ms_shipped bit Az objektumot egy belső SQL Server komponens hozza létre.
is_published bit Az objektum közzé van téve.
is_schema_published bit Csak az objektum sémája van közzétéve.

Remarks

A OBJECT_ID, OBJECT_NAME és OBJECTPROPERTY beépített függvényeket alkalmazhatod az objektumokban, amelyeket az objektumokban sys.objectsmutatnak.

Van egy verzió ennek a nézetnek ugyanezzel a sémával, sys.system_objects-nek, amely rendszerobjektumokat mutat. Egy másik nézet, az sys.all_objects, mind rendszer- és felhasználói objektumokat jeleníti meg. Mindhárom katalógusnézet ugyanazt a struktúrát képviseli.

Ebben az SQL Server verzióban egy kiterjesztett index, például XML index vagy térbeli index, belső tábla ( sys.objectstype az IT, és type_desc az INTERNAL_TABLE). Kiterjesztett indexhez:

  • name az indextáblázat belső neve
  • parent_object_id az object_id alaptáblázat
  • is_ms_shipped, is_published, és is_schema_published oszlopok beállítva vannak 0

Az objektumok részhalmazai egy adott objektumtípus rendszernézetei segítségével is megtekinthetők, például:

Jogosultságok

A katalógusnézetekben a metaadatok láthatósága olyan biztonságos adatokra korlátozódik, amelyek egy felhasználó tulajdonában vannak, vagy amelyeken a felhasználó engedélyt kapott. További információ: Metaadatok láthatóságának konfigurációja.

Examples

A. Küldd vissza az összes olyan objektumot, amelyet az elmúlt N napban módosítottak

Mielőtt lefuttatnád a következő lekérdezést, cseréld <database_name> le a és <n_days> értékeket érvényes értékekkel.

USE <database_name>;
GO

SELECT name AS object_name,
    SCHEMA_NAME(schema_id) AS schema_name,
    type_desc,
    create_date,
    modify_date
FROM sys.objects
WHERE modify_date > GETDATE() - <n_days>
ORDER BY modify_date;
GO

B. A megadott tárolt eljárás vagy függvény paramétereit

Mielőtt lefuttatnád a következő lekérdezést, cseréld <database_name> le és <schema_name.object_name> érvényes nevekkel.

USE <database_name>;
GO

SELECT SCHEMA_NAME(schema_id) AS schema_name,
    o.name AS object_name,
    o.type_desc,
    p.parameter_id,
    p.name AS parameter_name,
    TYPE_NAME(p.user_type_id) AS parameter_type,
    p.max_length,
    p.precision,
    p.scale,
    p.is_output
FROM sys.objects AS o
INNER JOIN sys.parameters AS p
    ON o.object_id = p.object_id
WHERE o.object_id = OBJECT_ID('<schema_name.object_name>')
ORDER BY schema_name,
    object_name,
    p.parameter_id;
GO

C. Vissza az összes felhasználó által definiált függvényt egy adatbázisban

Mielőtt lefuttatnád a következő lekérdezést, helyettesítsd <database_name> egy érvényes adatbázis nevet.

USE <database_name>;
GO

SELECT name AS function_name,
    SCHEMA_NAME(schema_id) AS schema_name,
    type_desc,
    create_date,
    modify_date
FROM sys.objects
WHERE type_desc LIKE '%FUNCTION%';
GO

D. Térítsd vissza minden objektum tulajdonosát egy sémában

Mielőtt lefuttatnád a következő lekérdezést, cseréld le minden és <database_name><schema_name> előforduló betűjét érvényes nevekre.

USE <database_name>;
GO

SELECT 'OBJECT' AS entity_type,
    USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name,
    name
FROM sys.objects
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'

UNION

SELECT 'TYPE' AS entity_type,
    USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name,
    name
FROM sys.types
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'

UNION

SELECT 'XML SCHEMA COLLECTION' AS entity_type,
    COALESCE(USER_NAME(xsc.principal_id), USER_NAME(s.principal_id)) AS owner_name,
    xsc.name
FROM sys.xml_schema_collections AS xsc
INNER JOIN sys.schemas AS s
    ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO