DB_NAME (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
此函式會傳回指定資料庫的名稱。
語法
DB_NAME ( [ database_id ] )
引數
database_id
DB_NAME
會傳回其名稱之資料庫的識別碼 (ID)。 如果 DB_NAME
呼叫省略 database_id,DB_NAME
會傳回目前資料庫的名稱。
傳回類型
nvarchar(128)
權限
如果 DB_NAME
的呼叫端未擁有特定非 master 或非 tempdb 資料庫,至少需要 ALTER ANY DATABASE
或 VIEW 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;
請參閱
DB_ID (Transact-SQL)
中繼資料函數 (Transact-SQL)
sys.databases (Transact-SQL)