Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft 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 Server
Azure 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 Server
Azure 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