Поделиться через


DB_NAME (Transact-SQL)

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

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

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

Синтаксис

DB_NAME ( [ database_id ] )

Аргументы

database_id

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

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

nvarchar(128)

Разрешения

Если вызывающий объект DB_NAME не владеет определенной не-или небазойtempdbmaster или разрешениями на уровне сервера, 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;