sys.Objects (Transact-SQL)
Zawiera wiersz dla każdego obiektu o zakresie schematu, zdefiniowanych przez użytkownika jest tworzony w bazie danych.
Ostrzeżenie
sys.objectsWyzwalacze DDL nie jest wyświetlany, ponieważ one są nie schematu zakresie.Wszystkie wyzwalacze DML i DDLznajdują się w sys.triggers.sys.triggersobsługuje mieszaniny nazwa zakresu reguł dla różnego rodzaju wyzwalaczy.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
name |
sysname |
Nazwa obiektu. |
object_id |
int |
Numer identyfikacyjny obiektu.Jest unikatowa w bazie danych. |
principal_id |
int |
Identyfikator właściciela indywidualnych, jeśli nie jest właścicielem schematu.Domyślnie obiekty schematu zawarte są własnością właściciela schematu.Jednakże alternatywne właściciela można określić przy użyciu autoryzacji zmienić instrukcja Aby zmienić własność. Jest NULL, jeśli nie ma żadnych alternatywnych poszczególnych właściciela. Jest NULL, jeśli typ obiektu jest jedną z następujących czynności: C = ograniczenie typu CHECK D = domyślnie (ograniczenie czy urzędem autonomicznym) F = ograniczenia na klucz OBCY PK = ograniczenie klucza podstawowego R = reguły (starym stylu, autonomiczny) TA = wyzwalacza zestawu (CLR -integracja) TR = SQL wyzwalacza UQ = ograniczenia UNIQUE |
schema_id |
int |
Identyfikator obiektu zawarte w schemacie. Obiekty o zakresie schematu systemu zawsze znajdują się w sys lub INFORMATION_SCHEMA schematów. |
parent_object_id |
int |
Identyfikator obiektu, do którego należy ten obiekt. 0 = Nie obiektu podrzędność . |
type |
char(2) |
Typ obiektu: AF = łączna funkcja (CLR) C = ograniczenie typu CHECK D = domyślnie (ograniczenie czy urzędem autonomicznym) F = ograniczenia na klucz OBCY FN = SQL wartość skalarna funkcja FS = zestawu (CLR) wartość skalarna—funkcja FT = zestawu (CLR) tabela-wycenione funkcja Jeżeli = SQL wbudowany tabela-wycenione funkcja IT = wewnętrznej tabela P = SQL procedura przechowywana PC = procedura przechowywana zestawu (CLR) PG = planu PK = ograniczenie klucza podstawowego R = reguły (starym stylu, autonomiczny) RF = procedurę filtrowania replikacji S = tabela bazowasystemowej SN = synonim SQ = Kolejka serwisowych TA = wyzwalacza zestawu (CLR) DML TF =tabela- valued - SQLfunkcja TR = SQL DML wyzwalacza TT = Typ tabeli U = tabela (zdefiniowane przez użytkownika) UQ = ograniczenia UNIQUE V = widoku X = rozszerzona procedura składowana |
type_desc |
nvarchar(60) |
Opis typu obiektu: AGGREGATE_FUNCTION CHECK_CONSTRAINT DEFAULT_CONSTRAINT FOREIGN_KEY_CONSTRAINT SQL_SCALAR_FUNCTION CLR_SCALAR_FUNCTION CLR_TABLE_VALUED_FUNCTION SQL_INLINE_TABLE_VALUED_FUNCTION INTERNAL_TABLE SQL_STORED_PROCEDURE CLR_STORED_PROCEDURE PLAN_GUIDE PRIMARY_KEY_CONSTRAINT REGUŁY REPLICATION_FILTER_PROCEDURE SYSTEM_TABLE SYNONIM SERVICE_QUEUE CLR_TRIGGER SQL_TABLE_VALUED_FUNCTION SQL_TRIGGER TABLE_TYPE USER_TABLE UNIQUE_CONSTRAINT Słowo kluczowe VIEW EXTENDED_STORED_PROCEDURE |
create_date |
datetime |
Data utworzenia obiektu. |
modify_date |
datetime |
Data ostatniej modyfikacji obiektu przy użyciu ALTER instrukcja.Jeśli obiekt jest tabela lub widok, modify_date zmienia się również podczas tworzenia indeks klastrowany w tabela lub widoku lub zmieniony. |
is_ms_shipped |
bit |
Obiekt jest tworzony przez wewnętrzny SQL Server składnika. |
is_published |
bit |
Obiekt jest publikowana. |
is_schema_published |
bit |
Obiekt schematu jest publikowana. |
Uwagi
Można zastosować OBJECT_ID, nazwa_obiektu, i OBJECTPROPERTY() funkcje wbudowane do obiektów w sys.objects.
Dostępna jest wersja tego widoku z tego samego schematu o nazwie sys.system_objects, który zawiera obiekty systemowe.Istnieje inny widok o nazwie sys.all_objects , zawiera obiekty systemu i użytkownika.Wszystkie trzy widoki wykazu mają taką samą strukturę.
W tej wersja SQL Server, rozszerzone indeksu, takie jak indeks XML lub przestrzennej indeksu jest uważana za wewnętrznej tabela w sys.objects ()type = IT i type_desc = INTERNAL_TABLE).Rozszerzone indeksu:
namejest wewnętrzna nazwa indeksu tabela.
parent_object_idjest object_id tabela bazowa.
is_ms_shipped, is_published i is_schema_published kolumny są zestaw na 0.
Uprawnienia
W programie SQL Server 2005 i nowszych wersjach widoczność metadanych w widokach wykazu jest ograniczona do zabezpieczanych obiektów, które należą do użytkownika lub do których udzielono użytkownikowi pewnych uprawnień.Aby uzyskać więcej informacji, zobacz Konfiguracja widoczność metadanych.
Przykłady
A.Zwracanie wszystkich obiektów, które zostały zmodyfikowane w ciągu ostatnich dni n
Przed uruchomieniem kwerendy następujące zastąpić <database_name> i <n_days> z prawidłowe wartości.
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.Zwracanie parametry dla określonej procedura składowana lub funkcja
Przed uruchomieniem kwerendy następujące zastąpić <database_name> i <schema_name.object_name> z prawidłowym nazwy.
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.Zwracanie wszystkie funkcje zdefiniowane przez użytkownika w bazie danych
Przed uruchomieniem kwerendy następujące zastąpić <database_name> z nazwy prawidłowej bazy danych.
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.Zwracanie właścicielem każdego obiektu w schemacie.
Przed uruchomieniem kwerendy następujące zamienić wszystkie wystąpienia <database_name> i <schema_name> z prawidłowym nazwy.
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 JOIN sys.schemas AS s
ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO
Zobacz także