Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
omettre database_id, ou si le database_id est 0
, 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 de base de données spécifiquemaster
ou nontempdb
, ALTER ANY DATABASE
ou VIEW ANY DATABASE
si les autorisations au niveau du serveur sont requises au minimum pour afficher la ligne correspondante DB_ID
.
Pour la master
base de données, DB_ID
nécessite CREATE DATABASE
une autorisation au minimum.
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. Retourner le nom de la base de données d’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
Cet exemple retourne le nom actuel de la base de données.
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
Cet exemple retourne le nom de la base de données et database_id
pour chaque base de données.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;