Partager via


DB_NAME (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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;