HAS_DBACCESS (Transact-SQL)HAS_DBACCESS (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

ユーザーが、指定したデータベースにアクセスできるかどうかに関する情報を返します。Returns information about whether the user has access to the specified database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

HAS_DBACCESS ( 'database_name' )  

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

引数Arguments

'database_name''database_name'
ユーザーのアクセス情報が必要なデータベースの名前を指定します。The name of the database for which the user wants access information. database_namesysname です。database_name is sysname.

戻り値の型Return Types

intint

解説Remarks

HAS_DBACCESS は、ユーザーがデータベースにアクセスできる場合は 1、ユーザーがデータベースにアクセスできない場合は 0、およびデータベース名が有効でない場合は NULL を返します。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.

データベースがオフラインの場合または異常がある場合は、0 が返されます。HAS_DBACCESS returns 0 if the database is offline or suspect.

HAS_DBACCESS は、データベースがシングルユーザー モードで、データベースが別のユーザーによって使用中の場合、0 を返します。HAS_DBACCESS returns 0 if the database is in single-user mode and the database is in use by another user.

アクセス許可Permissions

public ロールのメンバーシップが必要です。Requires membership in the public role.

Examples

次の例では、現在のユーザーが AdventureWorks2012 データベースにアクセスできるかどうかをテストします。The following example tests whether current user has access to the AdventureWorks2012 database.

SELECT HAS_DBACCESS('AdventureWorks2012');  
GO  

例: Azure Synapse AnalyticsAzure Synapse AnalyticsParallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse AnalyticsAzure Synapse Analytics and Parallel Data WarehouseParallel Data Warehouse

次の例では、現在のユーザーが AdventureWorksPDW2012 データベースにアクセスできるかどうかをテストします。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_MEMBER (Transact-SQL)
IS_SRVROLEMEMBER (Transact-SQL)IS_SRVROLEMEMBER (Transact-SQL)