Partilhar via


DB_NAME (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

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

Transact-SQL convenções de sintaxe

Sintaxe

DB_NAME ( [ database_id ] )

Argumentos

database_id

O número de identificação (ID) da base de dados cujo nome DB_NAME regressa. 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 devolução

nvarchar(128)

Permissões

Se o chamador de não possui um banco de dados específico ou não, ou permissões no nível do DB_NAME servidor são necessárias, no mínimo, mastertempdb para ver a linha correspondenteALTER ANY DATABASE.VIEW ANY DATABASEDB_ID

Para o master banco de dados, DB_ID precisa CREATE DATABASE de permissão no mínimo.

O banco de dados ao qual o chamador se conecta sempre aparece em sys.databases.

Importante

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

Exemplos

Um. 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 3do banco de dados .

USE master;
GO

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

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

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 do 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;