Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Den här funktionen returnerar namnet på en angiven databas.
Transact-SQL syntaxkonventioner
Syntax
DB_NAME ( [ database_id ] )
Argumentpunkter
database_id
Identifieringsnumret (ID) för databasen vars namn DB_NAME
returneras. Om anropet till DB_NAME
utelämnar database_id, eller om database_id är 0
, DB_NAME
returnerar namnet på den aktuella databasen.
Returtyper
nvarchar(128)
Behörigheter
Om anroparen av DB_NAME
inte äger en specifik icke-master
eller icke-databastempdb
eller ALTER ANY DATABASE
VIEW ANY DATABASE
behörigheter på servernivå krävs minst för att se motsvarande DB_ID
rad.
För databasen master
DB_ID
behöver CREATE DATABASE
du minst behörighet.
Databasen som anroparen ansluter till visas alltid i sys.databases
.
Viktigt!
Som standard har den offentliga rollen behörigheten VIEW ANY DATABASE
, vilket gör att alla inloggningar kan se databasinformation. För att förhindra att en inloggning identifierar en databas, REVOKE
behörigheten VIEW ANY DATABASE
från offentlig eller DENY
behörigheten VIEW ANY DATABASE
för enskilda inloggningar.
Exempel
A. Returnera det aktuella databasnamnet
Det här exemplet returnerar namnet på den aktuella databasen.
SELECT DB_NAME() AS [Current Database];
GO
B. Returnera databasnamnet för ett angivet databas-ID
Det här exemplet returnerar databasnamnet för databas-ID 3
.
USE master;
GO
SELECT DB_NAME(3) AS [Database Name];
GO
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
C. Returnera det aktuella databasnamnet
Det här exemplet returnerar det aktuella databasnamnet.
SELECT DB_NAME() AS [Current Database];
D. Returnera namnet på en databas med hjälp av databas-ID:t
Det här exemplet returnerar databasnamnet och database_id
för varje databas.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;