DB_NAME (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Эта функция возвращает имя указанной базы данных.

Соглашения о синтаксисе Transact-SQL

Синтаксис

DB_NAME ( [ database_id ] )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

database_id

Идентификационный номер базы данных, имя которой вернет функция DB_NAME. Если в вызове DB_NAME аргумент database_id не указан, функция DB_NAME возвращает имя текущей базы данных.

Типы возвращаемых данных

nvarchar(128)

Разрешения

Если участник, вызывающий DB_NAME, не является владельцем конкретной базы данных, отличной от базы данных master или tempdb, то минимальными разрешениями, необходимыми для просмотра соответствующей строки DB_ID, являются разрешения уровня сервера ALTER ANY DATABASE или VIEW ANY DATABASE. Для базы данных master функция DB_ID требует по крайней мере разрешения CREATE DATABASE. База данных, к которой подключается вызывающий участник, всегда отображается в представлении sys.databases.

Важно!

По умолчанию общедоступная роль имеет разрешение VIEW ANY DATABASE, что позволяет всем именам для входа просматривать информацию в базе данных. Чтобы имя для входа не могло обнаруживать базу данных, отзовите общедоступное разрешение VIEW ANY DATABASE с помощью инструкции REVOKE или отмените разрешение VIEW ANY DATABASE для отдельных имен для входа с помощью инструкции DENY.

Примеры

А. Возврат имени текущей базы данных

В приведенном ниже примере возвращается имя текущей базы данных.

SELECT DB_NAME() AS [Current Database];  
GO  

B. Возврат имени базы данных с указанным идентификатором базы данных

В приведенном ниже примере возвращается имя базы данных с идентификатором 3.

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

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

C. Получение имени текущей базы данных

SELECT DB_NAME() AS [Current Database];  

D. Получение имени базы данных по ее идентификатору

В приведенном ниже примере возвращаются имя и идентификатор каждой базы данных.

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

См. также

DB_ID (Transact-SQL)
Функции метаданных (Transact-SQL)
sys.databases (Transact-SQL)