Condividi tramite


DB_NAME (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

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 di cui verrà restituito il nome DB_NAME. Se la chiamata a DB_NAME omette database_id, DB_NAME restituisce il nome del database corrente.

Tipi restituiti

nvarchar(128)

Autorizzazioni

Se il chiamante di DB_NAME non è proprietario di un database non master o non tempdb specifico, sono necessarie almeno le autorizzazioni a livello di server ALTER ANY DATABASE o VIEW ANY DATABASE per visualizzare la riga DB_ID corrispondente. Per il database master, DB_ID necessita almeno dell'autorizzazione CREATE DATABASE. Il database a cui si connette il chiamante verrà 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. Restituzione del nome di un database con l'ID 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

SELECT DB_NAME() AS [Current Database];  

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

Questo esempio restituisce il nome e il valore database_id di ogni database.

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

Vedi anche

DB_ID (Transact-SQL)
Funzioni per i metadati (Transact-SQL)
sys.databases (Transact-SQL)