Aracılığıyla paylaş


OBJECT_SCHEMA_NAME (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Şema kapsamlı nesneler için veritabanı şema adını döndürür. Şema kapsamlı nesnelerin listesi için bkz. sys.objects (Transact-SQL).

Transact-SQL söz dizimi kuralları

Sözdizimi

OBJECT_SCHEMA_NAME ( object_id [, database_id ] )  

Arguments

object_id

Kullanılacak nesnenin kimliği. object_idint'dir ve belirtilen veritabanında veya geçerli veritabanı bağlamında şema kapsamlı bir nesne olduğu varsayılır.

database_id

Nesnenin aranacağı veritabanının kimliği. database_idint.

Dönüş Türleri

sysname

Exceptions

Hata durumunda veya çağıranın nesneyi görüntüleme izni yoksa NULL döndürür. Hedef veritabanında AUTO_CLOSE seçeneği AÇILDI olarak ayarlandıysa, işlev veritabanını açar.

Bir kullanıcı yalnızca kullanıcıya ait olan veya kullanıcıya izin verilen güvenli hale getirilebilir öğeler meta verilerini görüntüleyebilir. Gibi meta veri yayan yerleşik işlevler OBJECT_SCHEMA_NAME , kullanıcının nesne üzerinde herhangi bir izni yoksa NULL döndürebilir. Daha fazla bilgi için bkz. Meta Veri Görünürlüğü Yapılandırması.

Permissions

Nesne üzerinde ANY izni gerektirir. Veritabanı kimliği belirtmek için veritabanına BAĞLANMA izni de gerekir veya konuk hesabı etkinleştirilmelidir.

Açıklamalar

Sistem işlevleri seçme listesinde, WHERE yan tümcesinde ve bir ifadeye izin verilen her yerde kullanılabilir. Daha fazla bilgi için bkz. İfadeler ve WHERE.

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

database_id belirtilmezse, SQL Server Veritabanı Altyapısı bunun geçerli veritabanı bağlamında olduğunu object_id varsayar. Başka bir veritabanındaki bir öğesine başvuran sorgu object_id NULL veya yanlış sonuçlar döndürür. Örneğin, aşağıdaki sorguda, mevcut veritabanının bağlamı AdventureWorks2025'tir. Veritabanı Altyapısı, sorgunun FROM yan tümcesinde belirtilen object_id veritabanı yerine geçerli veritabanında belirtilen için bir nesne şeması adı döndürmeye çalışır. Bu nedenle, yanlış bilgiler döndürülür.

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

Aşağıdaki örnek, işlevdeki master veritabanının OBJECT_SCHEMA_NAME veritabanı kimliğini belirtir ve doğru sonuçları döndürür.

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

Örnekler

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

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Aşağıdaki örnek, geçici veya hazırlanmış deyimler olmayan tüm önbelleğe alınmış sorgu planları için nesne şeması adını, nesne adını ve SQL metnini döndürür.

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. Üç parçalı nesne adlarını döndürme

Aşağıdaki örnek geçerli veritabanı bağlamındaki tüm nesneler için veritabanı, şema ve nesne adını döndürür.

SELECT QUOTENAME(DB_NAME(db_id()))   
    + N'.'   
    + QUOTENAME(OBJECT_SCHEMA_NAME(object_id, db_id()))   
    + N'.'   
    + QUOTENAME(OBJECT_NAME(object_id, db_id()))  
    , *   
FROM sys.objects;
GO  

Aşağıdaki örnek, tüm veritabanlarındaki tüm nesneler için dinamik yönetim görünümündeki sys.dm_db_index_operational_stats diğer tüm sütunlarla birlikte veritabanı, şema ve nesne adını döndürür.

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

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  

Sonraki Adımlar