USE (Transact-SQL)
適用対象: SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Warehouse in Microsoft Fabric
データベース コンテキストを、指定したデータベースまたはデータベース スナップショットに変更します。
構文
USE { database_name }
[;]
Note
SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。
引数
database_name
ユーザー コンテキストの切り替え先のデータベースまたはデータベース スナップショットの名前を指定します。 データベース名とデータベース スナップショットは、識別子の規則に従っている必要があります。
Azure SQL データベースでは、データベース パラメーターは現在のデータベースのみを参照できます。 現在のデータベース以外のデータベースが提供されている場合、USE
ステートメントではデータベースを切り替えず、エラー コード 40508 が返されます。 データベースを変更するには、直接データベースに接続する必要があります。 このページの上部で、USE ステートメントは SQL Database には該当しないとマークされているのは、バッチ内に USE
ステートメントがあっても、何も実行されないためです。
注釈
SQL Server ログインで SQL Server に接続すると、自動的に既定のデータベースに接続し、データベース ユーザーのセキュリティ コンテキストを取得できます。 SQL Server ログイン用のデータベース ユーザーが 1 人も作成されていない場合、ログインは guest として接続されます。 データベース ユーザーが、データベースに対する CONNECT 権限を持たない場合、USE ステートメントは失敗します。 ログインに既定のデータベースが割り当てられていない場合、既定のデータベースとして master が設定されます。
USE は、コンパイル時と実行時の両方で実行でき、その効果は直ちに有効になります。 したがって、バッチ内で USE ステートメントの後にあるステートメントは、指定したデータベースで実行されます。
アクセス許可
切り替え先のデータベースに対する CONNECT 権限が必要です。
例
次の例では、データベース コンテキストを AdventureWorks2022
データベースに変更します。
USE AdventureWorks2022;
GO
参照
CREATE LOGIN (Transact-SQL)
CREATE USER (Transact-SQL)
プリンシパル (データベース エンジン)
CREATE DATABASE (SQL Server Transact-SQL)
DROP DATABASE (Transact-SQL)
EXECUTE (Transact-SQL)