Partager via


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)