DB_NAME (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Эта функция возвращает имя указанной базы данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DB_NAME ( [ database_id ] )
Аргументы
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)