Compartilhar via


DB_NAME (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics 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;