次の方法で共有


SQL Server Management Studio (SSMS) クエリ エディター

適用対象:SQL ServerAzure SQL データベースAzure SQL Managed InstanceAzure Synapse Analytics

この記事では、SQL Server Management Studio (SSMS) のクエリ エディターの機能について説明します。

Transact-SQL (T-SQL) F1 ヘルプの使用方法については、F1 ヘルプ セクションTransact-SQL 参照してください。

エディターで実行できるタスクについては、「エディタータスク 」セクションを 参照してください。

SSMS のエディターは、一般的なアーキテクチャを共有します。 テキスト エディターは基本レベルの機能を実装し、テキスト ファイルの基本的なエディターとして使用できます。 他のエディター (クエリ エディター) は、SQL Server でサポートされている言語の 1 つの構文を定義する言語サービスを含めることで、この機能ベースを拡張します。 クエリ エディターでは、IntelliSense やデバッグなどのエディター機能のさまざまなレベルのサポートも実装されています。 クエリ エディターには、T-SQL および XQuery ステートメントを含むスクリプトの作成に使用するデータベース エンジン クエリ エディター、MDX 言語の MDX エディター、DMX 言語の DMX エディター、および XML for Analysis 言語の XML/A エディターが含まれます。 クエリ エディターを使用して、Transact-SQL ステートメントを含むスクリプトを作成して実行できます。

新しいクエリのスクリーンショット。

SQL エディターのツール バー

クエリ エディターを開くと、SQL エディターのツール バーに次のボタンが表示されます。

[表示] メニューを選択し、[ツール バー] を選択し、[SQL エディター] を選択して、SQL エディターツール バーを追加することもできます。 クエリ エディター ウィンドウが開いていないときに SQL エディター ツール バーを追加すると、すべてのボタンが使用できなくなります。

エディター ツール バーのスクリーンショット。

エディター ツール バーを使用して接続する

[ サーバーへの接続 ] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、サーバーへの接続を確立します。

コンテキスト メニューを使用してデータベースに接続することもできます。

エディター ツール バーを使用して接続を変更する

[ サーバーへの接続 ] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、 別のサーバーへの接続を確立します

コンテキスト メニューを使用して接続を変更することもできます。

エディター ツール バーを使用して使用可能なデータベース

同じサーバー上の別のデータベースへの接続を変更します。

エディター ツール バーを使用して実行する

選択したコードを実行するか、コードが選択されていない場合は、すべてのクエリ エディター コードを実行します。

F5 キーを押すかコンテキスト メニューからクエリを実行することもできます。

エディター ツール バーを使用してクエリの実行を取り消す

取り消し要求をサーバーに送信します。 一部のクエリはすぐに取り消すことはできませんが、適切なキャンセル条件を待つ必要があります。 トランザクションが取り消されると、トランザクションのロールバック中に遅延が発生する可能性があります。

Alt + Break を選択して、実行中のクエリを取り消すこともできます。

エディター ツール バーを使用して解析する

選択したコードの構文を確認します。 コードが選択されていない場合は、[クエリ エディター] ウィンドウでコードのすべての構文がチェックされます。

Ctrl + F5 キーを押して、クエリ エディターでコードを確認することもできます。

エディター ツール バーを使用して推定実行プランを表示する

クエリを実行せずにクエリ プロセッサからクエリ実行プランを要求し、[ 実行プラン ] ウィンドウにプランを表示します。 このプランでは、インデックス統計を使用して、クエリ実行の各部分で返されることが予想される行数を見積もります。 実際に使用されるクエリ プランは、推定実行プランとは異なる場合があります。 返される行の数が見積もりと異なり、クエリ プロセッサによってプランがより効率的に変更された場合、これが発生する可能性があります。

Ctrl + L キーを押すか 、コンテキスト メニューから選択して、推定実行プランを表示することもできます。

エディター ツール バーを使用したクエリ オプション

[ クエリ オプション] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、クエリの実行とクエリ結果の既定のオプションを構成します。

コンテキスト メニューから [クエリ オプション] を選択することもできます。

エディター ツール バーを使用して IntelliSense を有効にする

データベース エンジン クエリ エディターで IntelliSense 機能を使用できるかどうかを指定します。 このオプションは既定で設定されます。

Ctrl + B キー、Ctrl + I キーを押すか、コンテキスト メニューから [IntelliSense の有効化] を選択することもできます。

エディター ツール バーを使用して実際の実行プランを含める

クエリを実行し、クエリ結果を返し、クエリの実行プランを使用します。 クエリは、実行プラン ウィンドウにグラフィカル クエリ プラン として表示されます。

Ctrl + M キーを押すか、コンテキスト メニューから [実際の実行プランを含める] を選択することもできます。

エディター ツール バーを使用してライブ クエリ統計を含める

コントロールがクエリ プラン演算子から別のクエリ プラン演算子にフローする際に、クエリ実行プロセスに関するリアルタイムの分析情報を提供します。

コンテキスト メニューから [ライブ クエリ統計を含める] を選択することもできます。

エディター ツール バーを使用してクライアント統計情報を含める

クエリとネットワーク パケットに関する統計情報とクエリの経過時間を含む [クライアント統計 ] ウィンドウが含まれます。

Shift + Alt + S キーを押すか、コンテキスト メニューから [ライブ クエリ統計を含める] を選択することもできます。

エディター ツール バーを使用して結果をテキストに変換する

[ 結果] ウィンドウ でクエリ結果をテキストとして返します。

Ctrl + T キーを押すか 、コンテキスト メニューから結果をテキストに返すこともできます。

エディター ツール バーを使用してグリッドに結果を表示する

[ 結果] ウィンドウ でクエリ結果を 1 つ以上のグリッドとして返します。 このオプションは既定で有効になっています。

Ctrl + D キーを押すか 、コンテキスト メニューから結果をテキストに返すこともできます。

エディター ツール バーを使用した [結果をファイルに出力]

クエリが実行されると、[ 結果の保存 ] ダイアログ ボックスが開きます。 [ 保存先] で、ファイルを保存するフォルダーを選択します。 [ ファイル名] にファイル名を入力し、[ 保存] を選択して、クエリ結果を .rpt 拡張子を持つ レポート ファイルとして保存します。 詳細オプションの場合は、[ 保存 ] ボタンの下矢印を選択し、[ エンコードで保存] を選択します。

Ctrl + Shift + F キーを押すか 、コンテキスト メニューから結果をテキストに返すこともできます。

エディター ツール バーを使用して選択した行をコメント アウトする

行の先頭にコメント演算子 (--) を追加して、現在の行をコメントにします。

Ctrl + K、Ctrl + C の順に選択して、行をコメント アウトすることもできます。

エディター ツール バーを使用して、選択した行のコメントを解除する

行の先頭にあるコメント演算子 (--) を削除して、現在の行をアクティブなソース ステートメントにします。

Ctrl + K、Ctrl + U の順に選択して、行のコメントを解除することもできます。

エディター ツール バーを使用してインデントを減らす

行の先頭にある空白を削除して、行のテキストを左に移動します。

エディター ツール バーを使用して行のインデントを増やす

行の先頭に空白を追加して、行のテキストを右に移動します。

エディター ツール バーを使用してテンプレート パラメーターの値を指定する

ストアド プロシージャと関数のパラメーターの値を指定するために使用できるダイアログ ボックスを開きます。

コンテキスト メニュー

クエリ エディター内の任意の場所 を右クリック すると、コンテキスト メニューにアクセスできます。 コンテキスト メニューのオプションは、SQL エディターツール バーに似ています。 コンテキスト メニューでは、[ 接続 ] と [ 実行] と同じオプションが表示されますが、 スニペットの挿入みなど、他のオプションも表示されます。

[オプション] のスクリーンショット。

コンテキスト メニューを使用してスニペットを挿入する

Transact-SQL スニペット は、クエリ エディターで新しい Transact-SQL ステートメントを記述するときに開始点として使用できるテンプレートです。

コンテキスト メニューを使用した [ブロックの挿入]

サラウンドスニペットは、BEGIN、IF、または WHILE ブロックで一連の Transact-SQL ステートメントを囲む際の開始点として使用できるテンプレートです。

コンテキスト メニューを使用した接続

使用可能な接続のスクリーンショット。

コンテキスト メニューには、SSMS のツール バー オプションと比較して、より多くの 接続 オプションがあります。

  • [接続 ] - [サーバーへの接続] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、サーバーへの接続を確立します。

  • 切断 - 現在のクエリ エディターをサーバーから切断します。

  • すべてのクエリの切断 - すべてのクエリ接続を切断します。

  • [接続の変更 ] - [サーバーへの接続] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、別のサーバーへの接続を確立します。

コンテキスト メニューを使用してオブジェクト エクスプローラーでサーバーを開く

オブジェクト エクスプローラーには、SQL Server の各インスタンスのオブジェクトを表示および管理するための階層ユーザー インターフェイスが用意されています。 [オブジェクト エクスプローラーの詳細] ウィンドウには、インスタンス オブジェクトの表形式のビューと、特定のオブジェクトを検索する機能が表示されます。 オブジェクト エクスプローラーの機能はサーバーの種類によって若干異なりますが、通常はデータベースの開発機能と、すべてのサーバーの種類の管理機能が含まれます。

コンテキスト メニューを使用して実行する

選択したコードを実行するか、コードが選択されていない場合は、クエリ エディターですべてのコードを実行します。

コンテキスト メニューを使用して推定実行プランを表示する

クエリを実際に実行せずにクエリ プロセッサからクエリ実行プランを要求し、[ 実行プラン ] ウィンドウにプランを表示します。 このプランでは、インデックス統計を使用して、クエリ実行の各部分で返されることが予想される行数を見積もります。 実際に使用されるクエリ プランは、推定実行プランとは異なる場合があります。 返される行数が見積もりと異なり、クエリ プロセッサによってプランがより効率的に変更された場合、これが発生する可能性があります。

コンテキスト メニューを使用して IntelliSense を有効にする

データベース エンジン クエリ エディターで IntelliSense 機能を使用できるかどうかを指定します。 このオプションは既定で設定されます。

コンテキスト メニューを使用して SQL Server Profiler でクエリをトレースする

SQL Server プロファイラー は、トレースを作成および管理し、トレースの結果を分析および再生するためのインターフェイスです。 イベントはトレース ファイルに保存され、後で分析したり、問題を診断しようとしたときに特定の一連の手順を再生するために使用したりできます。

コンテキスト メニューを使用してデータベース エンジン チューニング アドバイザーのクエリを分析する

Microsoft データベース エンジン チューニング アドバイザー (DTA) はデータベースを分析し、クエリのパフォーマンスを最適化するために使用する推奨事項を作成します。 データベース エンジン チューニング アドバイザーを使用すると、データベース構造や SQL Server の内部について専門家が理解しなくても、インデックス、インデックス付きビュー、またはテーブル パーティションの最適なセットを選択して作成できます。 DTA を使用すると、次のタスクを実行できます。

コンテキスト メニューを使用してエディターでクエリをデザインする

ビューの定義を開いたり、クエリまたはビューの結果を表示したり、クエリを作成または開いたりすると、クエリおよびビュー デザイナーが開きます。

コンテキスト メニューを使用して実際の実行プランを含める

クエリを実行し、クエリ結果を返し、クエリの実行プランを使用します。 クエリは、実行プラン ウィンドウにグラフィカル クエリ プラン として表示されます。

コンテキスト メニューを使用してライブ クエリ統計を含める

コントロールがクエリ プラン演算子から別のクエリ プラン演算子にフローする際に、クエリ実行プロセスに関するリアルタイムの分析情報を提供します。

コンテキスト メニューを使用してクライアント統計を含める

クエリとネットワーク パケットに関する統計情報とクエリの経過時間を含む [クライアント統計 ] ウィンドウが含まれます。

コンテキスト メニューを使用した結果

結果オプションのスクリーンショット。

コンテキスト メニューから任意の 結果 オプションを選択できます。

  • 結果をテキストに 変換する - クエリ結果を [ 結果 ] ウィンドウのテキストとして返します。

  • 結果をグリッドに - クエリ結果を 1 つまたは複数のグリッドとして 結果 ウィンドウに返します。

  • 結果をファイルに 保存する - クエリを実行すると、[ 結果の保存 ] ダイアログ ボックスが開きます。 [ 保存先] で、ファイルを保存するフォルダーを選択します。 [ ファイル名] にファイル名を入力し、[ 保存] を選択してクエリ 結果をレポート ファイルとして .rpt 拡張子で保存します。 詳細オプションの場合は、[ 保存 ] ボタンの下矢印を選択し、[ エンコードで保存] を選択します。

コンテキスト メニューを使用した [プロパティ] ウィンドウ

[プロパティ] ウィンドウには、接続やプラン表示演算子などの SQL Server Management Studio の項目の状態と、テーブル、ビュー、デザイナーなどのデータベース オブジェクトに関する情報が表示されます。

[プロパティ] ウィンドウを使用して、現在の接続のプロパティを表示します。 多くのプロパティは、[プロパティ] ウィンドウでは読み取り専用ですが、Management Studio の他の場所で変更できます。 たとえば、クエリの [データベース] プロパティは [プロパティ] ウィンドウでは読み取り専用ですが、ツール バーで変更できます。

コンテキスト メニューを使用したクエリ オプション

[ クエリ オプション] ダイアログ ボックスを開きます。 このダイアログ ボックスを使用して、クエリの実行とクエリ結果の既定のオプションを構成します。

Transact-SQL F1 ヘルプ

クエリ エディターでは、F1 キーを押したときに特定の Transact-SQL ステートメントの参照記事へのリンクがサポートされます。 これを行うには、Transact-SQL ステートメントの名前を強調表示し、F1 キーを押します。 ヘルプ検索エンジンは、強調表示した文字列と一致する F1 ヘルプ属性を持つ記事を検索します。

強調表示した文字列と完全に一致する F1 ヘルプ キーワードを持つ記事がヘルプ検索エンジンで見つからない場合は、この記事が表示されます。 その場合、探しているヘルプを見つけるには、次の 2 つの方法があります。

  • 強調表示したエディター文字列をコピーして SQL Server オンライン ブックの [検索] タブに貼り付け、検索を実行します。

  • アーティクルに適用されている F1 ヘルプ キーワードと一致する可能性が高い Transact-SQL ステートメントの一部のみを強調表示し、F1 をもう一度選択します。 検索エンジンでは、強調表示した文字列と、アーティクルに割り当てられた F1 ヘルプ キーワードとの完全一致が必要です。 強調表示した文字列に、列名やパラメーター名など、環境に固有の要素が含まれている場合、検索エンジンは一致しません。 強調表示する文字列の例を次に示します。

    • SELECTCREATE DATABASEBEGIN TRANSACTIONなど、Transact-SQL ステートメントの名前。

    • SERVERPROPERTY@@VERSIONなどの組み込み関数の名前。

    • システム ストアド プロシージャ テーブルの名前、またはビュー ( sys.data_spacessp_tableoptionなど)。

エディター タスク

タスクの説明 [アーティクル]
SSMS でエディターを開くさまざまな方法について説明します。 エディターを開く (SQL Server Management Studio)
行番号や IntelliSense オプションなど、さまざまなエディターのオプションを構成します。 エディターの構成 (SQL Server Management Studio)
表示モード (ワード ラップ、ウィンドウの分割、タブなど) を管理する方法。 エディターとビュー モードの管理
非表示のテキストやインデントなどの書式設定オプションを設定します。 コードの書式設定の管理
インクリメンタル検索や移動などの機能を使用して、エディター ウィンドウ内のテキスト内を移動します。 コードとテキストの 間を移動する
さまざまなクラスの構文に色分けオプションを設定すると、複雑なステートメントを読みやすくなります。 クエリ エディターでの の色分け
スクリプト内の 1 つの場所からテキストをドラッグし、新しい場所にドロップします。 テキストのドラッグ アンド ドロップ
コードの重要な部分をより簡単に見つけるためにブックマークを設定する方法。 ブックマークの管理
スクリプトまたは結果をウィンドウまたはグリッドで印刷する方法。 コードと結果の を印刷する
MDX クエリ エディターで基本的な機能を表示して使用します。 Analysis Services スクリプトの作成
DMX クエリ エディターで基本的な機能を表示して使用します。 DMX クエリを作成する
XML/A エディターの基本的な機能を表示して使用します。 XML エディター (SQL Server Management Studio)
データベース エンジン クエリ エディターで sqlcmd 機能を使用する方法。 クエリ エディターによる SQLCMD スクリプトの編集
データベース エンジン クエリ エディターでコード スニペットを使用する方法。 スニペットは、一般的に使用されるステートメントまたはブロックのテンプレートであり、サイト固有のスニペットを含むようにカスタマイズまたは拡張できます。 Transact-SQL スニペットの追加
Transact-SQL デバッガーを使用してコードをステップ実行し、変数やパラメーターの値などのデバッグ情報を表示する方法。 Transact-SQL デバッガー