Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Retourneert de naam van het databaseschema voor objecten met schemabereik. Zie sys.objects (Transact-SQL) voor een lijst met objecten met schemabereik.
Transact-SQL syntaxis-conventies
Syntaxis
OBJECT_SCHEMA_NAME ( object_id [, database_id ] )
Arguments
object_id
De id van het object dat moet worden gebruikt. object_id is int en wordt ervan uitgegaan dat het een schemabereikobject is in de opgegeven database of in de huidige databasecontext.
database_id
De id van de database waar het object moet worden opgezoekd. database_id is int.
Retourtypen
sysname
Exceptions
Retourneert NULL bij fout of als een aanroeper niet gemachtigd is om het object weer te geven. Als voor de doeldatabase de optie AUTO_CLOSE is ingesteld op AAN, wordt de database geopend met de functie.
Een gebruiker kan alleen de metagegevens van beveiligbare items bekijken waarvan de gebruiker eigenaar is of waarvoor de gebruiker is gemachtigd. Metagegevens die worden verzonden, ingebouwde functies zoals OBJECT_SCHEMA_NAME null kunnen retourneren als de gebruiker geen machtiging voor het object heeft. Zie De configuratie van zichtbaarheid van metagegevens voor meer informatie.
Permissions
Vereist ANY-machtigingen voor het object. Als u een database-id wilt opgeven, moet u ook verbinding maken met de database of moet het gastaccount zijn ingeschakeld.
Opmerkingen
Systeemfuncties kunnen worden gebruikt in de selectielijst, in de WHERE-component en overal waar een expressie is toegestaan. Zie Expressies en WHERE voor meer informatie.
De resultatenset die door deze systeemfunctie wordt geretourneerd, maakt gebruik van de sortering van de huidige database.
Als database_id niet is opgegeven, gaat de SQL Server Database Engine ervan uit dat deze object_id zich in de context van de huidige database bevindt. Een query die verwijst naar een object_id in een andere database, retourneert NULL- of onjuiste resultaten. In de volgende query is de context van de huidige database bijvoorbeeld AdventureWorks2022. De database-engine probeert een objectschemanaam te retourneren voor de opgegeven object_id in de huidige database in plaats van de database die is opgegeven in de FROM-component van de query. Daarom wordt onjuiste informatie geretourneerd.
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id)
FROM master.sys.objects;
In het volgende voorbeeld wordt de database-id voor de master database in de OBJECT_SCHEMA_NAME functie opgegeven en worden de juiste resultaten geretourneerd.
SELECT DISTINCT OBJECT_SCHEMA_NAME(object_id, 1) AS schema_name
FROM master.sys.objects;
Voorbeelden
Eén. De objectschemanaam en objectnaam retourneren
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
In het volgende voorbeeld wordt de objectschemanaam, objectnaam en SQL-tekst geretourneerd voor alle in de cache opgeslagen queryplannen die geen ad-hoc- of voorbereide instructies zijn.
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. Namen van drie delen van objecten retourneren
Het volgende voorbeeld retourneert de database, het schema en de objectnaam voor alle objecten in de huidige databasecontext.
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
In het volgende voorbeeld worden de database, het schema en de objectnaam samen met alle andere kolommen in de sys.dm_db_index_operational_stats dynamische beheerweergave geretourneerd voor alle objecten in alle databases.
Van toepassing op: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