共用方式為


DB_NAME (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

此函式會傳回指定資料庫的名稱。

Transact-SQL 語法慣例

語法

DB_NAME ( [ database_id ] )

引數

database_id

名稱傳回之資料庫的 DB_NAME 識別碼(ID)。 如果呼叫 DB_NAME 省略 database_id,或 database_id0DB_NAME 則會傳回目前資料庫的名稱。

傳回類型

nvarchar(128)

權限

如果的呼叫端 DB_NAME 沒有特定的非master 或非tempdb 資料庫, 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 權限。

範例

A. 傳回目前資料庫的名稱

此範例會傳回目前資料庫的名稱。

SELECT DB_NAME() AS [Current Database];
GO

B. 傳回指定之資料庫標識碼的資料庫名稱

此範例會傳回資料庫識別碼 3 的資料庫名稱。

USE master;
GO

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

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

C. 傳回目前資料庫的名稱

這個範例會傳回目前的資料庫名稱。

SELECT DB_NAME() AS [Current Database];

D. 使用資料庫識別碼傳回資料庫的名稱

本範例會傳回每個資料庫的資料庫名稱和 database_id

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