DB_NAME (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Essa função retorna o nome de um banco de dados especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

DB_NAME ( [ database_id ] )  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

database_id

O número de identificação (ID) do banco de dados cujo nome DB_NAME será retornado. Se a chamada para DB_NAME omite database_id, DB_NAME retorna o nome do banco de dados atual.

Tipos de retorno

nvarchar(128)

Permissões

Se o chamador de DB_NAME não é proprietário de um banco de dados específico não mestre ou não tempdb, são necessárias no mínimo as permissões de nível de servidor ALTER ANY DATABASE ou VIEW ANY DATABASE para ver a linha DB_ID correspondente. Para o banco de dados mestre, DB_ID precisa, no mínimo, da permissão CREATE DATABASE. O banco de dados ao qual o chamador se conecta será sempre exibido em sys.databases.

Importante

Por padrão, a função pública tem a permissão VIEW ANY DATABASE, que permite que todos os logons vejam informações do banco de dados. Para impedir a detecção de um banco de dados por um logon, aplique REVOKE na permissão VIEW ANY DATABASE da função pública, ou aplique DENY na permissão VIEW ANY DATABASE para logons individuais.

Exemplos

a. Retornando o nome do banco de dados atual

Este exemplo retorna o nome do banco de dados atual.

SELECT DB_NAME() AS [Current Database];  
GO  

B. Retornando o nome do banco de dados de uma ID de banco de dados especificada

Este exemplo retorna o nome do banco de dados para a ID de banco de dados 3.

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

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

C. Retornar o nome do banco de dados atual

SELECT DB_NAME() AS [Current Database];  

D. Retornar o nome de um banco de dados usando a ID de banco de dados

Este exemplo retorna o nome do banco de dados e a database_id de cada banco de dados.

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

Confira também

DB_ID (Transact-SQL)
funções de metadados (Transact-SQL)
sys.databases (Transact-SQL)