sys.Objects (Transact-SQL)
Bir veritabanı içinde oluşturulan her kullanıcı tanımlı, şema kapsamlı nesne için bir satır içerir.
Not
sys.objectsDDL tetikleyiciler, bunlar değil şema kapsamlı çünkü göstermez.Tüm tetikleyiciler DML ve DDL, bulunan trigger.sys.triggersçeşitli Tetikleyiciler için adı kapsam kuralları karışımını destekler.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
name |
sysname |
Nesne adı. |
object_id |
int |
Nesne tanımlama numarası.Bir veritabanı içinde benzersizdir. |
principal_id |
int |
Şema sahibini farklıysa, tek tek sahibinin kimliği.Varsayılan olarak, şema içerdiği nesneleri şema sahibi tarafından sahip olunan.Ancak, başka bir sahibi sahipliğini değiştirmek için alter YETKİLENDİRME deyim kullanılarak belirtilebilir. Olan diğer tek tek sahibi ise null. İş nesnesi türü aşağıdakilerden biri ise null: C denetim kısıtlaması = D = varsayılan (kısıtlaması veya tek başına) F = yabancı anahtar kısıtlaması pk PRIMARY key kısıtlaması = R = kural (eski stil, tek başına) ta derleme (clrtümleştirme) tetikleyici = tr SQL tetikleyici = uq = kısıtlama |
schema_id |
int |
Nesnenin içerdiği şema kimliği. Şema kapsamlı sistem nesneleri her zaman içinde bulunan sys veya INFORMATION_SCHEMA şemalar. |
parent_object_id |
int |
Bu nesnenin ait olduğu nesne kimliği. 0 = alt nesne. |
type |
char(2) |
Nesne türü: af toplama işlev (clr) = C denetim kısıtlaması = D = varsayılan (kısıtlaması veya tek başına) F = yabancı anahtar kısıtlaması fn SQLskalerişlev= fs = derleme (clr) skaler-işlev ft = derleme (clr) tablo-değerli işlev IF = SQL satır içi tablo-değerli işlev BT iç tablo= P = SQL saklı yordamı pc derleme (clr) depolanan yordamı = pg Plan Kılavuzu = pk PRIMARY key kısıtlaması = R = kural (eski stil, tek başına) rf çoğaltma filtre yordamını = S = sistem temel tablo sn eşanlamlı = sq Service sıra = ta derleme (clr) DML tetikleyici = tf SQLtablo- değerli -işlev= tr SQL DML tetikleyici = tt = tablo türü U = tablosu (kullanıcı tanımlı) uq = kısıtlama V = Görünüm X = genişletilmiş saklı yordam |
type_desc |
nvarchar(60) |
Nesne türü açıklaması: 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 KURAL REPLICATION_FILTER_PROCEDURE SYSTEM_TABLE EŞANLAMLI SERVICE_QUEUE CLR_TRIGGER SQL_TABLE_VALUED_FUNCTION SQL_TRIGGER DEĞİŞKENİNDEKİ TABLE_TYPE USER_TABLE UNIQUE_CONSTRAINT VIEW EXTENDED_STORED_PROCEDURE |
create_date |
datetime |
Nesnenin oluşturulduğu tarih. |
modify_date |
datetime |
Object alter deyimkullanarak son değiştirildiği tarih.Nesne bir tablo veya görünüm ise modify_date kümelenmiş dizin tablo veya Görünüm oluşturulduğunda veya değiştirmiş de değişir. |
is_ms_shipped |
bit |
Nesne bir iç tarafından oluşturuldu SQL Server bileşeni. |
is_published |
bit |
Nesne yayımlanır. |
is_schema_published |
bit |
Yalnızca nesnenin şema yayımlanır. |
Açıklamalar
Uygulayabileceğiniz OBJECT_ID, nesne_adı, ve objectpropertygösterilen nesneler () yerleşik işlevler sys.objects.
Bu görünümün adı verilen aynı şemaya bir sürüm vardır sys.system_objects, sistem nesneleri gösterir.Başka bir görünüm adı verilen sys.all_objects , sistem ve kullanıcı nesnelerini gösterir.Tüm üç katalog görünümleri aynı yapıya sahip.
Bu sürüm , SQL Server, bir xml dizin gibi genişletilmiş dizin veya kayma dizin içinde bir iç tablo kabul sys.objects ()type = BT ve type_desc INTERNAL_TABLE =).Genişletilmiş bir dizin:
nameİç dizin tabloadıdır.
parent_object_idİş object_id temel tablo.
is_ms_shipped, is_published ve is_schema_published sütunları olan küme için 0.
İzinler
SQL Server 2005 ve sonraki sürümlerinde, katalog görünümlerinde meta verinin görünürlüğü bir kullanıcının ya sahip olduğu ya da bazı izinlerine sahip olduğu güvenliği sağlanabilen öğelerle sınırlıdır.Daha fazla bilgi için bkz: Meta veri görünürlük yapılandırma.
Örnekler
A.Son n gün içinde değiştirilmiş tüm nesneleri döndürme
Aşağıdaki sorguyu çalıştırmadan önce Değiştir <database_name> ve <n_days> ile geçerli değerler.
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.Belirtilen saklı yordam veya işlevparametreleri döndürme
Aşağıdaki sorguyu çalıştırmadan önce Değiştir <database_name> ve <schema_name.object_name> ile geçerli adları.
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.Tüm kullanıcı tanımlı işlevler bir veritabanında döndürme
Aşağıdaki sorguyu çalıştırmadan önce Değiştir <database_name> geçerli bir veritabanı adı.
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.Her nesnenin sahibi şema içinde döndürülüyor.
Aşağıdaki sorguyu çalıştırmadan önce tüm tekrarlamalarını değiştirmek <database_name> ve <schema_name> ile geçerli adları.
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