object_name (Transact-sql)

Şema kapsamlı nesne veritabanı nesnesinin 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_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, object_name, 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 değeri, geçerli veritabanı harmanlama kullanır.

Varsayılan olarak, 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 bir nesne adı belirtilen nesne kimliği döndürmeye çalışır. Bu nedenle, yanlış bilgiler döndürülür.

USE AdventureWorks;
GO
SELECT DISTINCT OBJECT_NAME(object_id)
FROM master.sys.objects;
GO

USE AdventureWorks;
GO
SELECT DISTINCT OBJECT_NAME(object_id)
FROM master.sys.objects;
GO

Bir veritabanı kimliği belirterek başka bir veritabanı bağlamında nesne adları çözümlemek için Aşağıdaki örnek, veritabanı Kımlığı belirtir masterveritabanı içinde OBJECT_SCHEMA_NAMEfonksiyonu ve doğru sonuçlar verir.

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

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

Örnekler

A.object_name bir where yan tümcesi kullanarak

Aşağıdaki örnek sütunlarından verir sys.objectsKatalog görünümü nesne için belirtilen OBJECT_NAMEde WHEREyan SELECTdeyimi.

USE AdventureWorks2012;
GO
DECLARE @MyID int;
SET @MyID = (SELECT OBJECT_ID('AdventureWorks2012.Production.Product',
    'U'));
SELECT name, object_id, type_desc
FROM sys.objects
WHERE name = OBJECT_NAME(@MyID);
GO

B.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_text
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

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_text
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

C.Üç 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

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)