| title | HAS_DBACCESS (Transact-SQL) | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| description | HAS_DBACCESS (Transact-SQL) | ||||||||
| author | VanMSFT | ||||||||
| ms.author | vanto | ||||||||
| ms.date | 10/23/2017 | ||||||||
| ms.service | sql | ||||||||
| ms.subservice | t-sql | ||||||||
| ms.topic | reference | ||||||||
| f1_keywords |
|
||||||||
| helpviewer_keywords |
|
||||||||
| dev_langs |
|
||||||||
| monikerRange | >= aps-pdw-2016 || = azure-sqldw-latest || >= sql-server-2016 || >= sql-server-linux-2017 || = azuresqldb-mi-current |
[!INCLUDE sql-asdbmi-asa-pdw]
Returns information about whether the user has access to the specified database.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
HAS_DBACCESS ( 'database_name' )
'database_name'
The name of the database for which the user wants access information. database_name is sysname.
int
HAS_DBACCESS returns 1 if the user has access to the database, 0 if the user has no access to the database, and NULL if the database name is not valid.
HAS_DBACCESS returns 0 if the database is offline or suspect.
HAS_DBACCESS returns 0 if the database is in single-user mode and the database is in use by another user.
Requires membership in the public role.
The following example tests whether current user has access to the [!INCLUDE sssampledbobject-md] database.
SELECT HAS_DBACCESS('AdventureWorks2022');
GO Examples: [!INCLUDEssazuresynapse-md] and [!INCLUDEssPDW]
The following example tests whether current user has access to the AdventureWorksPDW2012 database.
SELECT HAS_DBACCESS('AdventureWorksPDW2012');
GO