USE (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)Microsoft Fabric のウェアハウス

データベース コンテキストを、指定したデータベースまたはデータベース スナップショットに変更します。

Transact-SQL 構文表記規則

構文

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)