HAS_DBACCESS (Transact-SQL)
适用于:SQL Server Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)
返回信息,说明用户是否可以访问指定的数据库。
语法
HAS_DBACCESS ( 'database_name' )
参数
'database_name'
数据库的名称,用户希望获取有关该数据库的访问信息。 database_name 的数据类型为 sysname。
返回类型
int
备注
如果用户可以访问该数据库,则 HAS_DBACCESS 返回 1。如果用户不能访问该数据库,则返回 0。如果该数据库名无效,则返回 NULL。
如果数据库处于脱机或可疑状态,HAS_DBACCESS 将返回 0。
如果数据库处于单用户模式并且该数据库正由另一个用户使用,HAS_DBACCESS 将返回 0。
权限
要求具有 public 角色的成员身份。
示例
下面的示例测试当前用户是否有权访问 AdventureWorks2022
数据库。
SELECT HAS_DBACCESS('AdventureWorks2022');
GO
示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
下面的示例测试当前用户是否有权访问 AdventureWorksPDW2012
数据库。
SELECT HAS_DBACCESS('AdventureWorksPDW2012');
GO