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. 返回指定数据库 ID 的数据库名称
此示例返回数据库 ID 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. 使用数据库 ID 返回数据库名称
此示例返回每个数据库的数据库名称和 database_id。
SELECT DB_NAME(database_id) AS [Database], database_id
FROM sys.databases;
另请参阅
DB_ID (Transact-SQL)
元数据函数 (Transact-SQL)
sys.databases (Transact-SQL)