HAS_DBACCESS (Transact-SQL)HAS_DBACCESS (Transact-SQL)
適用対象:Applies to: SQL ServerSQL Server (サポートされているすべてのバージョン)
SQL ServerSQL Server (all supported versions)
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
SQL ServerSQL Server (サポートされているすべてのバージョン)
SQL ServerSQL Server (all supported versions)
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure SQL Managed InstanceAzure SQL Managed Instance
Azure Synapse AnalyticsAzure Synapse Analytics
Azure Synapse AnalyticsAzure Synapse Analytics
Parallel Data WarehouseParallel Data Warehouse
Parallel Data WarehouseParallel Data Warehouse
ユーザーが、指定したデータベースにアクセスできるかどうかに関する情報を返します。Returns information about whether the user has access to the specified database.
Transact-SQL 構文表記規則
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_name は sysname です。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 Analytics、Parallel 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)