Condividi tramite


DB_NAME (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Endpoint di analisi SQL in Microsoft FabricMagazzino in Microsoft FabricDatabase SQL in Microsoft Fabric

Questa funzione restituisce il nome di un database specificato.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

DB_NAME ( [ database_id ] )

Argomenti

database_id

Numero di identificazione (ID) del database il cui nome DB_NAME restituisce. Se la chiamata a DB_NAME omette database_id o il database_id è 0, DB_NAME restituisce il nome del database corrente.

Tipi restituiti

nvarchar(128)

Autorizzazioni

Se il chiamante di non è proprietario di un database specifico o non di DB_NAME database o master le autorizzazioni a livello di tempdb server sono necessarie almeno per visualizzare la riga corrispondenteALTER ANY DATABASE.VIEW ANY DATABASEDB_ID

Per il master database, DB_ID è necessaria CREATE DATABASE almeno l'autorizzazione.

Il database a cui si connette il chiamante viene sempre visualizzato in sys.databases.

Importante

Per impostazione predefinita, il ruolo public ha l'autorizzazione VIEW ANY DATABASE, che consente a tutti gli account di accesso di visualizzare informazioni sul database. Per impedire a un account di accesso di rilevare un database, usare REVOKE per revocare l'autorizzazione VIEW ANY DATABASE da public o DENY per negare l'autorizzazione VIEW ANY DATABASE per i singoli account di accesso.

Esempi

R. Restituzione del nome del database corrente

Questo esempio restituisce il nome del database corrente.

SELECT DB_NAME() AS [Current Database];
GO

B. Restituire il nome del database di un ID di database specificato

Questo esempio restituisce il nome del database con l'ID 3.

USE master;
GO

SELECT DB_NAME(3) AS [Database Name];
GO

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

C. Restituzione del nome del database corrente

In questo esempio viene restituito il nome del database corrente.

SELECT DB_NAME() AS [Current Database];

D. Restituzione del nome di un database usando l'ID del database

In questo esempio viene restituito il nome del database e database_id per ogni database.

SELECT DB_NAME(database_id) AS [Database],
       database_id
FROM sys.databases;