HAS_DBACCESS (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![no](media/no.png)Azure SQL Database ![yes](media/yes.png)Azure SQL Data Warehouse ![yes](media/yes.png)Parallel Data Warehouse

Returns information about whether the user has access to the specified database.

Topic link icon Transact-SQL Syntax Conventions

Syntax

HAS_DBACCESS ( 'database_name' )  

Arguments

database_name
The name of the database for which the user wants access information. database_name is sysname.

Return Types

int

Remarks

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.

Permissions

Requires membership in the public role.

Examples

The following example tests whether current user has access to the AdventureWorks2012 database.

SELECT HAS_DBACCESS('AdventureWorks2012');  
GO  

Examples: [!INCLUDEssSDWfull] and [!INCLUDEssPDW]

The following example tests whether current user has access to the AdventureWorksPDW2012 database.

SELECT HAS_DBACCESS('AdventureWorksPDW2012');  
GO  

See Also

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