SQL Server Management Studio (SSMS) の使用に関するヒントとテクニック

この記事では、SQL Server Management Studio (SSMS) の使用に関するいくつかのヒントとテクニックをご紹介します。 この記事で取り上げるテクニック:

  • Transact-SQL (T-SQL) のテキストをコメント化する/コメント解除する
  • テキストをインデントする
  • オブジェクト エクスプローラーでオブジェクトにフィルターを適用する
  • SQL Server エラー ログにアクセスする
  • SQL Server インスタンスの名前を検索する

前提条件

本記事で説明する手順をテストするには、SQL Server Management Studio、SQL Server のインスタンスへのアクセス、および AdventureWorks データベースが必要です。

T-SQL コードをコメント化する/コメント解除する

ツール バーの [コメント] ボタンを使用し、テキストの一部をコメント化したり、コメント化を解除したりできます。 コメントにされたテキストは実行されません。

  1. SQL Server Management Studioを開きます。

  2. SQL Server インスタンスに接続します。

  3. [新しいクエリ] ウィンドウを開きます。

  4. 次の Transact-SQL コードを、テキスト ウィンドウに貼り付けます。

    USE master;
    GO
    
    --Drop the database if it already exists
    IF EXISTS (SELECT name
               FROM sys.databases
               WHERE name = N'TutorialDB')
        DROP DATABASE TutorialDB;
    GO
    
    CREATE DATABASE TutorialDB;
    GO
    
    ALTER DATABASE [TutorialDB]
        SET QUERY_STORE = ON;
    GO
    
  5. テキストの Alter Database 部分を強調表示し、ツール バーの [コメント] ボタンを選択します。

    [コメント] ボタンのスクリーンショット。

  6. [実行] を選択し、テキストのコメント解除された部分を実行します。

  7. Alter Database コマンド以外をすべて強調表示し、 [コメント] ボタンを選択します。

    [すべてにコメントする] のスクリーンショット。

    Note

    テキストをコメント化するためのキーボード ショートカットは CTRL + K、CTRL + C です。

  8. テキストの Alter Database 部分を強調表示し、ツール バーの [Uncomment](コメントを解除する) ボタンを選択してコメントを解除します。

    コメント解除のテキストのスクリーンショット。

    Note

    テキストのコメントを解除するためのキーボード ショートカットは CTRL + K、CTRL + C です。

  9. [実行] を選択し、テキストのコメント解除された部分を実行します。

テキストをインデントする

ツール バーのインデント ボタンを使用し、テキストのインデントを増減できます。

  1. [新しいクエリ] ウィンドウを開きます。

  2. 次の Transact-SQL コードを、テキスト ウィンドウに貼り付けます。

    USE master;
    GO
    --Drop the database if it already exists
    IF EXISTS (SELECT name
               FROM sys.databases
               WHERE name = N'TutorialDB')
        DROP DATABASE TutorialDB;
    GO
    
    CREATE DATABASE TutorialDB;
    GO
    
    ALTER DATABASE [TutorialDB]
        SET QUERY_STORE = ON;
    GO
    
  3. テキストの Alter Database の部分を強調表示し、ツール バーの [インデントを増やす]のボタン を選択してこのテキストを前方に移動します。

    インデントを増やすのスクリーンショット。

  4. テキストの Alter Database の部分を強調表示し、[インデントを減らす]の ボタンを選択してこのテキストを後方に移動します。

    インデントを減らすのスクリーンショット。

オブジェクト エクスプローラーでオブジェクトにフィルターを適用する

多くのオブジェクトが存在するデータベースでは、フィルタリングを使用して特定のテーブルやビューなどを検索することができます。このセクションではテーブルのフィルタリング方法について説明しますが、以下の手順はオブジェクトエクスプローラー内の他のノードでも使用できます。

  1. SQL Server インスタンスに接続します。

  2. [データベース]>[AdventureWorks]>[テーブル] の順に展開します。 データベース内のすべてのテーブルが表示されます。

  3. [テーブル] を右クリックし、 [フィルター]>[フィルターの設定] の順に選択します。

    フィルター設定のスクリーンショット。

  4. [フィルターの設定] ウィンドウで、次のフィルター設定の一部を変更できます。

    • 名前でフィルター:

      名前でフィルターのスクリーンショット。

    • スキーマでフィルター:

      スキーマによるフィルターのスクリーンショット。

  5. フィルターを消去するには、 [テーブル] を右クリックし、 [フィルターの削除] を選択します。

    フィルターの削除のスクリーンショット。

SQL Server のエラー ログにアクセスする

エラー ログは、SQL Server インスタンス内で発生したことに関する詳細な情報を含むファイルです。 SSMS では、エラー ログを参照したり、クエリを実行したりできます。 エラー ログは、ファイル システムに存在する.log ファイルです。

SSMS でエラー ログを開く

  1. SQL Server インスタンスに接続します。

  2. [管理]>[SQL Server ログ] の順に展開します。

  3. [現在] のエラー ログを右クリックし、 [SQL Server ログの表示] を選択します。

    SSMS でエラー ログを表示するのスクリーンショット。

SSMS でエラー ログにクエリを実行する

  1. SQL Server インスタンスに接続します。

  2. [新しいクエリ] ウィンドウを開きます。

  3. 次の Transact-SQL コードを、クエリ ウィンドウに貼り付けます。

    EXECUTE sp_readerrorlog 0, 1,'Server process ID'
    
  4. 単一引用符で囲まれたテキストを検索するテキストに変更します。

  5. クエリを実行し、結果を確認します。

    エラー ログをクエリするのスクリーンショット。

SQL Server に接続されている場合にエラー ログの場所を検索する

  1. SQL Server インスタンスに接続します。

  2. [新しいクエリ] ウィンドウを開きます。

  3. 次の Transact-SQL コードをクエリ ウィンドウに貼り付けて、[実行] を選択します。

    SELECT SERVERPROPERTY('ErrorLogFileName') AS 'Error log file location';
    
  4. 結果に、ファイル システム内のエラー ログの場所が示されます。

    [クエリでエラー ログを検索する] のスクリーンショット。

SQL Server に接続できない場合にエラー ログの場所を検索する

SQL Server のエラー ログのパスは、構成設定によって異なる場合があります。 エラーログの保存場所のパスは、SQL Server 構成マネージャー内の SQL Server 起動パラメータで確認できます。

次の手順に従って、SQL Server エラーログの場所を特定する関連のスタートアップパラメータを見つけます。 実際に表示されるパスはこの例のパスとは異なる場合があります

  1. SQL Server 構成マネージャーを開きます。

  2. [サービス] を展開します。

  3. SQL Server インスタンスを右クリックして、 [プロパティ] を選択します。

    構成マネージャーサーバープロパティのスクリーンショット。

  4. [起動時のパラメーター] タブを選択します。

  5. 既存のパラメーター領域で、-e の後のパスがエラー ログの場所です。

    エラー ログのスクリーンショット

    この場所には複数のエラー ログ ファイルがあります。 *log で終わるファイル名が現在のエラー ログ ファイルです。 数字で終わるファイル名は以前のログ ファイルです。 SQL Server が再起動するたびに新しいログが作成されます。

  6. 任意のテキストエディタで errorlog.log ファイルを開きます。

SQL Server インスタンス名を見つける

SQL Server に接続する前と接続した後で、SQL Server インスタンスの名前を見つけるにはいくつかの方法があります。

SQL Server に接続する前

  1. 次の手順でディスク上の SQL Server エラー ログを探します。

  2. メモ帳で errorlog.log ファイルを開きます。

  3. Server name is というテキストを探します。

    一重引用符で囲まれたテキストは、接続で使用する SQL Server インスタンスの名前です。

    エラーログからサーバー名を検索するのスクリーンショット。

    名前の形式は HOSTNAME\INSTANCENAME です。 ホスト名しか表示されない場合、既定のインスタンスをインストールしており、インスタンス名は MSSQLSERVER です。 既定のインスタンスに接続するとき、ホスト名だけを入力して SQL Server に接続できます。 実際のパスはサンプル画像のパスとは異なる場合があります。

SQL Server に接続しているとき

SQL Server に接続しているとき、3 か所でサーバー名が見つかります。

  • サーバーの名前はオブジェクト エクスプローラーに表示されます。

    オブジェクトエクスプローラーのSQL Server インスタンス名のスクリーンショット。

  • サーバーの名前はクエリ ウィンドウに表示されます。

    クエリ ウィンドウの SQL Server インスタンス名のスクリーンショット。

  • サーバーの名前は [プロパティ] に表示されます。

    • [表示] メニューで、 [プロパティ ウィンドウ] を選択します。

      プロパティ ウィンドウの SQL Server インスタンス名のスクリーンショット。

別名または可用性グループ リスナーに接続している場合

別名または可用性グループ リスナーに接続している場合、その情報はオブジェクト エクスプローラーとプロパティに表示されます。 その場合、SQL Server インスタンスの名前はすぐにはわからないことがあり、クエリを行う必要があります。

  1. SQL Server インスタンスに接続します。

  2. [新しいクエリ] ウィンドウを開きます。

  3. 次の Transact-SQL コードを、ウィンドウに貼り付けます。

    SELECT @@Servername;
    
  4. クエリの結果を見て、接続している SQL Server インスタンスの名前を確認します。

    ‎SQL サーバー名をクエリするのスクリーンショット。