Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Эта функция возвращает имя указанной базы данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DB_NAME ( [ database_id ] )
Аргументы
database_id
Идентификатор базы данных, имя которой возвращается DB_NAME . Если вызов DB_NAMEпропускает database_id или database_id0, DB_NAME возвращает имя текущей базы данных.
Типы возвращаемых данных
nvarchar(128)
Разрешения
Если вызывающий объект DB_NAME не владеет определенной не-или небазойmastertempdb или разрешениями на уровне сервера, ALTER ANY DATABASEVIEW ANY DATABASE требуются как минимум для просмотра соответствующей DB_ID строки.
master Для базы данных DB_ID требуется CREATE DATABASE минимальное разрешение.
База данных, к которой подключается вызывающий объект, всегда отображается в sys.databases.
Внимание
По умолчанию общедоступная роль имеет разрешение VIEW ANY DATABASE, что позволяет всем именам для входа просматривать информацию в базе данных. Чтобы имя для входа не могло обнаруживать базу данных, отзовите общедоступное разрешение REVOKE с помощью инструкции VIEW ANY DATABASE или отмените разрешение DENY для отдельных имен для входа с помощью инструкции VIEW ANY DATABASE.
Примеры
А. Получение имени текущей базы данных
В приведенном ниже примере возвращается имя текущей базы данных.
SELECT DB_NAME() AS [Current Database];
GO
B. Возвращает имя базы данных указанного идентификатора базы данных.
В приведенном ниже примере возвращается имя базы данных с идентификатором 3.
USE master;
GO
SELECT DB_NAME(3) AS [Database Name];
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
В. Получение имени текущей базы данных
В этом примере возвращается текущее имя базы данных.
SELECT DB_NAME() AS [Current Database];
D. Получение имени базы данных по ее идентификатору
В этом примере возвращается имя базы данных и database_id для каждой базы данных.
SELECT DB_NAME(database_id) AS [Database],
database_id
FROM sys.databases;