Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
A séma hatókörű objektumok adatbázisséma-nevét adja vissza. A séma hatókörű objektumok listáját a sys.objects (Transact-SQL) című témakörben találja.
Transact-SQL szintaxis konvenciók
Szemantika
OBJECT_SCHEMA_NAME ( object_id [, database_id ] )
Arguments
object_id
A használni kívánt objektum azonosítója. object_idint , és azt feltételezi, hogy séma hatókörű objektum a megadott adatbázisban vagy az aktuális adatbázis-környezetben.
database_id
Annak az adatbázisnak az azonosítója, amelyben az objektumot fel kell keresni. database_idint.
Visszatérési típusok
sysname
Exceptions
Null értéket ad vissza hiba esetén, vagy ha a hívó nem rendelkezik engedéllyel az objektum megtekintéséhez. Ha a céladatbázisban be van állítva a AUTO_CLOSE beállítás, a függvény megnyitja az adatbázist.
A felhasználó csak azoknak a biztonságos adatoknak a metaadatait tekintheti meg, amelyek a felhasználó tulajdonában vannak, vagy amelyekhez a felhasználó engedélyt kapott. Metaadatkibocsátó, beépített függvények, például OBJECT_SCHEMA_NAME null értéket adhatnak vissza, ha a felhasználónak nincs engedélye az objektumra. További információ: Metaadatok láthatósági konfigurációja.
Permissions
Bármilyen engedélyre van szükség az objektumon. Az adatbázis-azonosító megadásához connect-engedélyre is szükség van az adatbázishoz, vagy engedélyezni kell a vendégfiókot.
Megjegyzések
A rendszerfüggvények használhatók a kiválasztási listában, a WHERE záradékban, és bárhol, ahol egy kifejezés engedélyezve van. További információ: Kifejezések és HOL.
A rendszerfüggvény által visszaadott eredményhalmaz az aktuális adatbázis rendezést használja.
Ha database_id nincs megadva, az SQL Server adatbázismotor azt feltételezi, hogy object_id az aktuális adatbázis kontextusában van. Egy másik adatbázisban lévő lekérdezés object_id null vagy helytelen eredményt ad vissza. Például a következő lekérdezésben az aktuális adatbázis kontextusa az AdventureWorks2025. Az adatbázismotor a lekérdezés FROM záradékában megadott adatbázis helyett az aktuális adatbázisban megadott object_id objektumséma nevét próbálja visszaadni. Ezért a rendszer helytelen adatokat ad vissza.
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id)
FROM master.sys.objects;
Az alábbi példa a függvény adatbázis-azonosítóját masterOBJECT_SCHEMA_NAME adja meg, és a megfelelő eredményeket adja vissza.
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id, 1) AS schema_name
FROM master.sys.objects;
Példák
A. Adja vissza az objektumséma nevét és az objektum nevét
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Az alábbi példa az objektumséma nevét, az objektumnevet és az SQL-szöveget adja vissza az összes olyan gyorsítótárazott lekérdezési tervhez, amely nem alkalmi vagy előkészített utasítás.
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. Háromrészes objektumnevek visszaadása
Az alábbi példa az aktuális adatbázis-környezet összes objektumának adatbázisát, sémáját és objektumnevét adja vissza.
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
Az alábbi példa visszaadja az adatbázis, a séma és az objektum nevét, valamint a sys.dm_db_index_operational_stats dinamikus felügyeleti nézetben lévő összes többi oszlopot az összes adatbázis összes objektumához.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
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