Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All


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

Applies to: SQL Server (SQL Server 2008 through current version).

Topic link icon Transact-SQL Syntax Conventions

HAS_DBACCESS ( 'database_name' )


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

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 AdventureWorks2012 database.

SELECT HAS_DBACCESS('AdventureWorks2012');

Community Additions

© 2015 Microsoft