HAS_DBACCESS (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

傳回使用者是否具有指定之資料庫存取權的相關資訊。

Transact-SQL 語法慣例

Syntax

HAS_DBACCESS ( 'database_name' )  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

'database_name'
這是使用者需要存取資訊的資料庫名稱。 database_namesysname

傳回型別

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  

另請參閱

IS_MEMBER (Transact-SQL)
IS_SRVROLEMEMBER (Transact-SQL)