DB_NAME (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Cette fonction retourne le nom de la base de données spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
DB_NAME ( [ database_id ] )
Arguments
database_id
Numéro d’identification (ID) de la base de données dont le nom DB_NAME
est retourné. Si l’appel à DB_NAME
omet database_id, DB_NAME
retourne le nom de la base de données active.
Types de retour
nvarchar(128)
Autorisations
Si l’appelant de DB_NAME
ne possède pas une base de données non MASTER ou non tempdb spécifique, au minimum les autorisations au niveau serveur ALTER ANY DATABASE
ou VIEW ANY DATABASE
sont nécessaires pour consulter la ligne DB_ID
correspondante. Pour la base de données MASTER, DB_ID
a besoin au minimum de l’autorisation CREATE DATABASE
. La base de données à laquelle l’appelant se connecte apparaît toujours dans sys.databases.
Important
Par défaut, le rôle public a l’autorisation VIEW ANY DATABASE
, qui permet à toutes les connexions de consulter les informations de la base de données. Pour empêcher une connexion de détecter une base de données, révoquez (REVOKE
) l’autorisation publique VIEW ANY DATABASE
, ou refusez (DENY
) l’autorisation VIEW ANY DATABASE
pour les connexions individuelles.
Exemples
R. Renvoi du nom de la base de données active
L’exemple suivant retourne le nom de la base de données active.
SELECT DB_NAME() AS [Current Database];
GO
B. Renvoi du nom de la base de données correspondant à un ID de base de données spécifié.
L’exemple suivant retourne le nom de la base de données ayant l’ID 3
.
USE master;
GO
SELECT DB_NAME(3) AS [Database Name];
GO
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
C. Renvoi du nom de la base de données active
SELECT DB_NAME() AS [Current Database];
D. Renvoi du nom d’une base de données à l’aide de l’ID de base de données
L’exemple suivant retourne le nom et la valeur database_id de chaque base de données.
SELECT DB_NAME(database_id) AS [Database], database_id
FROM sys.databases;
Voir aussi
DB_ID (Transact-SQL)
Fonctions de métadonnées (Transact-SQL)
sys.databases (Transact-SQL)