DB_NAME (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint 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

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;