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
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
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_NAME
database_id ausgelassen wird oder die database_id lautet, DB_NAME
gibt 0
den 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, VIEW ANY DATABASE
sind mindestens Berechtigungen auf Serverebene erforderlich, ALTER 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.databases
angezeigt.
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;