USE (Transact-SQL)USE (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

データベース コンテキストを、SQL ServerSQL Server の指定したデータベースまたはデータベース スナップショットに変更します。Changes the database context to the specified database or database snapshot in SQL ServerSQL Server.

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

構文Syntax

USE { database_name }   
[;]  

引数Arguments

database_namedatabase_name
ユーザー コンテキストの切り替え先のデータベースまたはデータベース スナップショットの名前を指定します。Is the name of the database or database snapshot to which the user context is switched. データベース名とデータベース スナップショットは、識別子の規則に従っている必要があります。Database and database snapshot names must comply with the rules for identifiers.

Azure SQL データベースAzure SQL Databaseでは、データベース パラメーターは現在のデータベースのみを参照できます。In Azure SQL データベースAzure SQL Database, the database parameter can only refer to the current database. 現在のデータベース以外のデータベースが提供されている場合、USE ステートメントではデータベースを切り替えず、エラー コード 40508 が返されます。If a database other than the current database is provided, the USE statement does not switch between databases, and error code 40508 is returned. データベースを変更するには、直接データベースに接続する必要があります。To change databases, you must directly connect to the database. このページの上部で、USE ステートメントは SQL Database には該当しないとマークされているのは、バッチ内に USE ステートメントがあっても、何も実行されないためです。The USE statement is marked as not applicable to SQL Database at the top of this page, because even though you can have the USE statement in a batch, it doesn't do anything.

RemarksRemarks

SQL ServerSQL Server ログインで SQL ServerSQL Server に接続すると、自動的に既定のデータベースに接続し、データベース ユーザーのセキュリティ コンテキストを取得できます。When a SQL ServerSQL Server login connects to SQL ServerSQL Server, the login is automatically connected to its default database and acquires the security context of a database user. SQL ServerSQL Server ログイン用のデータベース ユーザーが 1 人も作成されていない場合、ログインは guest として接続されます。If no database user has been created for the SQL ServerSQL Server login, the login connects as guest. データベース ユーザーが、データベースに対する CONNECT 権限を持たない場合、USE ステートメントは失敗します。If the database user does not have CONNECT permission on the database, the USE statement will fail. ログインに既定のデータベースが割り当てられていない場合、既定のデータベースとして master が設定されます。If no default database has been assigned to the login, its default database will be set to master.

USE は、コンパイル時と実行時の両方で実行でき、その効果は直ちに有効になります。USE is executed at both compile and execution time and takes effect immediately. したがって、バッチ内で USE ステートメントの後にあるステートメントは、指定したデータベースで実行されます。Therefore, statements that appear in a batch after the USE statement are executed in the specified database.

アクセス許可Permissions

切り替え先のデータベースに対する CONNECT 権限が必要です。Requires CONNECT permission on the target database.

使用例Examples

次の例では、データベース コンテキストを AdventureWorks2012 データベースに変更します。The following example changes the database context to the AdventureWorks2012 database.

USE AdventureWorks2012;  
GO  

参照See Also

CREATE LOGIN (Transact-SQL) CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL) CREATE USER (Transact-SQL)
プリンシパル (データベース エンジン) Principals (Database Engine)
CREATE DATABASE (SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
DROP DATABASE (Transact-SQL) DROP DATABASE (Transact-SQL)
EXECUTE (Transact-SQL)EXECUTE (Transact-SQL)