Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Essa função retorna o nome de um banco de dados especificado.
Convenções de sintaxe de Transact-SQL
Sintaxe
DB_NAME ( [ database_id ] )
Argumentos
database_id
O número de identificação (ID) do banco de dados cujo nome DB_NAME
retorna. Se a chamada para DB_NAME
omitir database_id ou a database_id for 0
, DB_NAME
retornará o nome do banco de dados atual.
Tipos de retorno
nvarchar(128)
Permissões
Se o chamador DB_NAME
não possui um banco de dados específicomaster
ou nãotempdb
, ou VIEW ANY DATABASE
permissões no nível do servidor são necessárias, no mínimo, ALTER ANY DATABASE
para ver a linha correspondenteDB_ID
.
Para o master
banco de dados, precisa CREATE DATABASE
de DB_ID
permissão no mínimo.
O banco de dados ao qual o chamador se conecta sempre aparece 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. Retornar 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. Retornar 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
Este exemplo retorna 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 database_id
para cada banco de dados.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;