HAS_DBACCESS (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Devuelve información acerca de si el usuario tiene acceso a la base de datos especificada.

Convenciones de sintaxis de Transact-SQL

Sintaxis

HAS_DBACCESS ( 'database_name' )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

'database_name'
El nombre de la base de datos de la que el usuario desea información de acceso. database_name es sysname.

Tipos de valor devuelto

int

Observaciones

HAS_DBACCESS devuelve 1 si el usuario tiene acceso a la base de datos, 0 si no lo tiene y NULL si el nombre de la base de datos no es válido.

HAS_DBACCESS devuelve 0 si la base de datos está sin conexión o es sospechosa.

HAS_DBACCESS devuelve 0 si la base de datos están en modo de usuario único y la está usando otro usuario.

Permisos

Debe pertenecer al rol public.

Ejemplos

En el siguiente ejemplo se comprueba si el usuario actual tiene acceso a la base de datos AdventureWorks2022.

SELECT HAS_DBACCESS('AdventureWorks2022');  
GO  

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

En el siguiente ejemplo se comprueba si el usuario actual tiene acceso a la base de datos AdventureWorksPDW2012.

SELECT HAS_DBACCESS('AdventureWorksPDW2012');  
GO  

Consulte también

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