Share via


Belirtirmasterveritabanı (Transact-sql)

Şema kapsamlı nesne veritabanı şema adını döndürür. Şema kapsamlı nesne listesi için bkz: sys.Objects (Transact-sql).

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

OBJECT_SCHEMA_NAME ( object_id [, database_id ] )

Bağımsız değişkenler

  • object_id
    Kullanılacak nesnenin kimliğidir. object_idise intve bir şema kapsamlı nesne belirtilen veritabanı veya geçerli veritabanını bağlamda varsayılır.

  • database_id
    Veritabanı nesne baktı olduğu kimliğidir. database_idis int.

Dönüş Türleri

sysname

Kural dışı durumlar

Döndürür null bir hata ya da arayan bir nesneyi görüntüleme iznine sahip değil. Hedef veritabanı ayarlamak için on auto_close seçeneği varsa, işlev veritabanı açılır.

Bir kullanıcı yalnızca kullanıcının sahip olduğu veya kullanıcı izni verilmiş securables meta verileri görüntüleyebilirsiniz. Bu belirtirmasterveritabanı kullanıcı nesnesi üzerinde izni yoksa null döndürebilir gibi meta veri verilirken, yerleşik fonksiyonları olduğunu anlamına gelir. Daha fazla bilgi için, bkz. Meta veri görünürlük yapılandırma.

İzinler

Nesnesi üzerinde izni gerektirir. Veritabanı kimliği belirlemek için connect izni veritabanında da gereklidir veya Konuk hesabı etkin olması gerekir.

Açıklamalar

Sistem işlevleri seçme listesinde where yan tümcesi kullanılabilir ve herhangi bir ifade izin verilir. Daha fazla bilgi için bkz: ifadeleri ve NEREYE.

Bu sistem işlevi tarafından döndürülen sonuç kümesi geçerli veritabanı harmanlama kullanır.

Eğer database_idbelirtilmemiş, SQL Server Veritabanı Altyapısıvarsayar object_id geçerli veritabanı bağlamındadır. Başvuran bir sorgu bir object_id başka bir veritabanında boş veya yanlış sonuçlar döndürüyor. Örneğin, aşağıdaki sorgu geçerli veritabanı bağlamında olduğunu AdventureWorks. Veritabanı AltyapısıSorgunun from yan tümcesinde belirtilen veritabanı yerine, veritabanındaki nesne şema adı belirtilen nesne kimliği döndürmeye çalışır. Bu nedenle, yanlış bilgiler döndürülür.

USE AdventureWorks2012;
GO
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id)
FROM master.sys.objects;
GO

Aşağıdaki örnek, veritabanı Kımlığı belirtir masterveritabanı içinde OBJECT_SCHEMA_NAMEfonksiyonu ve doğru sonuçlar verir.

USE AdventureWorks2012;
GO
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id, 1) AS schema_name
FROM master.sys.objects;
GO

Örnekler

A.Nesnenin şema adı ve nesne adını döndürme

Aşağıdaki örnek nesne şema adı, nesne adı ve geçici ya da hazır deyimleri değildir tüm önbelleğe alınan sorgu planlarını sql metni verir.

SELECT DB_NAME(st.dbid) AS database_name, 
    OBJECT_SCHEMA_NAME(st.objectid, st.dbid) AS schema_name,
    OBJECT_NAME(st.objectid, st.dbid) AS object_name, 
    st.text AS query_statement
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
WHERE st.objectid IS NOT NULL;
GO

B.Üç bölümlü nesne adları döndüren

Aşağıdaki örnek veritabanı, şema ve nesne adı ile birlikte diğer tüm sütunlar döndürür sys.dm_db_index_operational_statsdinamik yönetimi görünümü tüm nesneleri tüm veritabanları için.

SELECT QUOTENAME(DB_NAME(database_id)) 
    + N'.' 
    + QUOTENAME(OBJECT_SCHEMA_NAME(object_id, database_id)) 
    + N'.' 
    + QUOTENAME(OBJECT_NAME(object_id, database_id))
    , * 
FROM sys.dm_db_index_operational_stats(null, null, null, null);
GO

Ayrıca bkz.

Başvuru

Meta veri işlevler (Transact-sql)

OBJECT_DEFINITION (Transact-sql)

OBJECT_ID (Transact-sql)

object_name (Transact-sql)

Kavramlar

Securables