Share via


HAS_DBACCESS (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Gibt Informationen über den Zugriff des Benutzers auf die angegebene Datenbank zurück.

Transact-SQL-Syntaxkonventionen

Syntax

HAS_DBACCESS ( 'database_name' )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

'database_name'
Der Name der Datenbank, für die der Benutzer Zugriffsinformationen wünscht. database_name ist sysname

Rückgabetypen

int

Bemerkungen

HAS_DBACCESS gibt 1 zurück, wenn der Benutzer Zugriff auf die Datenbank hat, 0, wenn der Benutzer keinen Zugriff auf die Datenbank hat, und NULL, wenn der Datenbankname ungültig ist.

HAS_DBACCESS gibt 0 zurück, wenn die Datenbank offline oder fehlerverdächtig ist.

HAS_DBACCESS gibt 0 zurück, wenn sich die Datenbank im Einzelbenutzermodus befindet und die Datenbank von einem anderen Benutzer verwendet wird.

Berechtigungen

Erfordert die Mitgliedschaft in der public-Rolle.

Beispiele

Im folgenden Beispiel wird getestet, ob der aktuelle Benutzer Zugriff auf die AdventureWorks2022-Datenbank hat.

SELECT HAS_DBACCESS('AdventureWorks2022');  
GO  

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

Im folgenden Beispiel wird getestet, ob der aktuelle Benutzer Zugriff auf die AdventureWorksPDW2012-Datenbank hat.

SELECT HAS_DBACCESS('AdventureWorksPDW2012');  
GO  

Weitere Informationen

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