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.objectsÇünkü onlar are değil şema kapsamlı ddl Tetikleyicileri, göstermez. Tüm tetikleyiciler dml ve ddl, bulunan sys.triggers. sys.triggersadı kapsam kuralları karışımı çeşitli Tetikleyiciler için 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 sahibi farklıysa bireysel sahibi Kımlığı. Varsayılan olarak, şema içerdiği nesne şema sahibi tarafından aittir. Ancak, alternatif sahibi sahipliğini değiştirmek için alter YETKILENDIRME deyimini kullanarak belirtilebilir.

Olan diğer bir tek tek sahibi ise null.

Olan nesne türü aşağıdakilerden biri ise null:

C = check kısıtlaması

D = varsayılan (kısıtlaması veya tek başına)

F = FOREIGN key kısıtlaması

pk PRIMARY key kısıtlaması =

R = kural (eski stil, tek başına)

ta derleme (clr tümleştirme) tetikleyici =

tr sql tetikleyici =

uq = UNIQUE sınırlamasıyla

schema_id

int

Nesnenin içerdiği şema Kımlığı.

Şema kapsamlı sistem nesneleri her zaman içinde yer sysya INFORMATION_SCHEMAşemalar.

parent_object_id

int

Bu nesnenin ait olduğu nesnenin Kımlığı.

0 = Değil alt nesne.

type

char(2)

Nesne türü:

af toplama işlevi (clr) =

C = check kısıtlaması

D = varsayılan (kısıtlaması veya tek başına)

F = FOREIGN key kısıtlaması

fn sql skalar işlev =

fs Derleme (clr) skalar işlev =

ft derleme (clr) tablo değerli işlev =

Eğer sql satır içi tablo değerli işlev =

O 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ı =

S = sistem temel tablo

sn eşanlamlı =

so = sıra nesne

sq Service sıra =

ta derleme (clr) dml tetikleyici =

tf sql tablo-değerli işlev =

tr sql dml tetikleyici =

tt = tablo türü

U = tablo (kullanıcı tanımlı)

uq = UNIQUE sınırlamasıyla

V = görünümü

X = genişletilmiş saklı yordamı

type_desc

nvarchar(60)

Nesne türü açıklaması:

AGGREGATE_FUNCTION

CHECK_CONSTRAINT

CLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTION

CLR_TRIGGER

DEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINT

INTERNAL_TABLE

PLAN_GUIDE

PRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDURE

KURAL

SEQUENCE_OBJECT

SERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTION

SQL_TRIGGER

EŞANLAMLI

SYSTEM_TABLE

TABLE_TYPE

UNIQUE_CONSTRAINT

USER_TABLE

VIEW

create_date

datetime

Nesnenin oluşturulduğu tarih.

modify_date

datetime

Nesne, alter deyimini kullanarak son değiştirildiği tarih. Nesne bir tablo veya Görünüm ise modify_datetablo veya Görünüm kümelenmiş bir dizin oluşturulduğunda veya değişmiş de değişir.

is_ms_shipped

bit

Nesne bir iç tarafından oluşturulan SQL Serverbileşen.

is_published

bit

Nesne yayımlanır.

is_schema_published

bit

Yalnızca nesnenin şema yayımlanır.

Açıklamalar

Sen-ebilmek uygulamak OBJECT_ID, object_name, ve objectpropertygösterilen nesneler yerleşik işlevleri () sys.objects.

Bu görünümü ile aynı şema adı, sürümü görülebilirsys.system_objectsKatalog, sistem nesneleri gösterir. Başka bir görünüm adı verilen sys.all_objects , hem sistem hem de kullanıcı nesnelerini gösterir. Tüm üç katalog görünümleri aynı yapıya sahip.

Bu sürümünde SQL Server, bir xml dizin gibi genişletilmiş dizin veya kayma dizin iç tablo olarak kabul sys.objects( type O = ve type_descINTERNAL_TABLE =). Genişletilmiş dizini için:

  • nameİç dizin tablonun adıdır.

  • parent_object_idise object_idtemel tablo.

  • is_ms_shipped, is_publishedve is_schema_publishedsütun 0 olarak ayarlanmışsa.

İzinler

Katalog görünümlerinde meta verinin görünürlüğü bir kullanıcının ya sahibi 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>Geçerli değerler ile.

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şlev parametreleri döndürme

Aşağıdaki sorguyu çalıştırmadan önce Değiştir <database_name>ve <schema_name.object_name>geçerli adları ile.

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, o.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ı ile.

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önen.

Aşağıdaki sorguyu çalıştırmadan önce tüm tekrarlamalarını değiştirmek <database_name>ve <schema_name>geçerli adları ile.

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

Ayrıca bkz.

Başvuru

Kataloğu görünümleri (Transact-sql)

sys.all_objects (Transact-sql)

görülebilirsys.system_objectsKatalog (Transact-sql)

sys.triggers (Transact-sql)

Nesne Kataloğu görünümleri (Transact-sql)

sys.internal_tables (Transact-sql)

Kavramlar

SQL Server sistem Kataloğu SSS sorgulama

Diğer Kaynaklar

User-Schema Separation