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 部分を強調表示し、ツール バーの [コメント] ボタンを選択します。

    The Comment button

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

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

    Comment everything

    注意

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

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

    Uncomment text

    注意

    テキストのコメントを解除するためのキーボード ショートカットは 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 の部分を強調表示し、ツール バーの [インデント] を選択してこのテキストを右に移動します。

    Increase the indent

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

    Decrease the indent

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

多くのオブジェクトが含まれるデータベースの場合は、フィルターを使用して特定のテーブル、ビューなどを検索できます。このセクションでは、テーブルにフィルターを適用する方法について説明しますが、次の手順はオブジェクト エクスプローラーの他のノードでも利用できます。

  1. ご利用の SQL Server に接続します

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

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

    Filter settings

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

    • 名前でフィルター:

      Filter by name

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

      Filter by schema

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

    Remove filter

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

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

SSMS でエラー ログを開く

  1. ご利用の SQL Server に接続します

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

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

    View the error log in SSMS

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

  1. ご利用の SQL Server に接続します

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

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

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

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

    Query the error log

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

  1. ご利用の SQL Server に接続します

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

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

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

    Find the error log by query

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

SQL Server のエラー ログのパスは、構成設定によって異なる場合があります。 エラー ログの場所のパスは、SQL Server 構成マネージャー内の、起動時のパラメーターで確認できます。 次の手順に従って、SQL Server のエラー ログの場所を特定するための、関連する起動時のパラメーターを見つけます。 "ユーザーのパスは次に示されるパスとは異なる場合があります"。

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

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

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

    Configuration Manager server properties

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

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

    Error log

    この場所には複数のエラー ログ ファイルがあります。 *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 インスタンスの名前です。

    Find the server name in the error log

    名前の形式は "ホスト名\インスタンス名" です。 ホスト名しか表示されない場合、既定のインスタンスをインストールしており、インスタンス名は MSSQLSERVER です。 既定のインスタンスに接続するとき、ホスト名だけを入力して SQL Server に接続できます。

SQL Server に接続しているとき

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

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

    SQL Server instance name in Object Explorer

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

    SQL Server instance name in the Query window

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

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

      SQL Server instance name in the Properties window

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

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

  1. ご利用の SQL Server に接続します

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

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

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

    Query the SQL Server name

次のステップ

SSMS に慣れ親しむには、実践的な経験を積むのが最も効果的です。 以下の "チュートリアル" と "操作方法" に関する記事は、SSMS 内で使用できるさまざまな機能を使用するのに役立ちます。 以下の記事では、SSMS のコンポーネントを管理する方法と、頻繁に使用する機能にアクセスする方法が説明されています。