HAS_DBACCESS(Transact-SQL)

적용 대상:SQL ServerAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

지정된 데이터베이스를 사용자가 액세스할 수 있는지에 대한 정보를 반환합니다.

Transact-SQL 구문 규칙

Syntax

HAS_DBACCESS ( 'database_name' )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

인수

'database_name'
사용자가 액세스 정보를 얻으려고 하는 데이터베이스의 이름입니다. database_namesysname입니다.

반환 형식

int

설명

HAS_DBACCESS는 사용자가 데이터베이스에 액세스할 수 있으면 1을 반환하고 사용자가 데이터베이스에 액세스할 수 없으면 0을 반환하며 데이터베이스 이름이 잘못되었으면 NULL을 반환합니다.

HAS_DBACCESS는 데이터베이스가 오프라인 또는 주의 대상이면 0을 반환합니다.

HAS_DBACCESS는 데이터베이스가 단일 사용자 모드에 있고 다른 사용자가 데이터베이스를 사용 중이면 0을 반환합니다.

사용 권한

public 역할의 멤버 자격이 필요합니다.

예제

다음 예에서는 현재 사용자가 AdventureWorks2022 데이터베이스에 액세스할 수 있는지 테스트하는 방법을 보여 줍니다.

SELECT HAS_DBACCESS('AdventureWorks2022');  
GO  

예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)

다음 예에서는 현재 사용자가 AdventureWorksPDW2012 데이터베이스에 액세스할 수 있는지 테스트하는 방법을 보여 줍니다.

SELECT HAS_DBACCESS('AdventureWorksPDW2012');  
GO  

참고 항목

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