Udostępnij za pośrednictwem


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