Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Diese Funktion gibt den Namen einer angegebenen Datenbank zurück.
Transact-SQL-Syntaxkonventionen
Syntax
DB_NAME ( [ database_id ] )
Argumente
database_id
Die Identifikationsnummer (ID) der Datenbank, deren Name DB_NAME zurückgegeben wird. Wenn der Aufruf von DB_NAMEdatabase_id ausgelassen wird oder die database_id lautet, 0 gibt DB_NAMEden Namen der aktuellen Datenbank zurück.
Rückgabetypen
nvarchar(128)
Berechtigungen
Wenn der Aufrufer DB_NAME nicht über eine bestimmte Nicht-master oder Nicht-Datenbanktempdb verfügt, ALTER ANY DATABASE sind mindestens Berechtigungen auf Serverebene erforderlich, VIEW ANY DATABASE um die entsprechende DB_ID Zeile anzuzeigen.
Für die master Datenbank DB_ID ist mindestens die Berechtigung erforderlich CREATE DATABASE .
Die Datenbank, mit der der Aufrufer eine Verbindung herstellt, wird immer in sys.databasesangezeigt.
Wichtig
Standardmäßig verfügt die öffentliche Rolle über die Berechtigung VIEW ANY DATABASE, sodass alle Anmeldenamen auf Datenbankinformationen zugreifen können. Verhindern Sie, dass ein Anmeldename eine Datenbank erkennt, indem Sie die Berechtigung REVOKE mit VIEW ANY DATABASE widerrufen, sodass sie nicht mehr öffentlich ist, oder die Berechtigung DENY mit VIEW ANY DATABASE für individuelle Anmeldungen verweigern.
Beispiele
A. Zurückgeben des aktuellen Datenbanknamens
In diesem Beispiel wird der Name der aktuellen Datenbank zurückgegeben.
SELECT DB_NAME() AS [Current Database];
GO
B. Zurückgeben des Datenbanknamens einer angegebenen Datenbank-ID
Im folgenden Beispiel wird der Name der Datenbank mit der ID 3 zurückgegeben.
USE master;
GO
SELECT DB_NAME(3) AS [Database Name];
GO
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
C. Zurückgeben des aktuellen Datenbanknamens
In diesem Beispiel wird der aktuelle Datenbankname zurückgegeben.
SELECT DB_NAME() AS [Current Database];
D: Zurückgeben des Namens einer Datenbank unter Verwendung der Datenbank-ID
In diesem Beispiel wird der Datenbankname und database_id für jede Datenbank zurückgegeben.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;