次の方法で共有


SQL Server Management Studio のスクリプト オブジェクト

このチュートリアルでは、SQL Server Management Studio (SSMS) 内にあるさまざまなオブジェクトの Transact-SQL (T-SQL) スクリプトを生成する方法について説明します。 このチュートリアルでは、次のオブジェクトをスクリプト化する方法の例を示します。

  • GUI 内でアクションを実行する場合のクエリ
  • 2つの異なる方法でのデータベース (スクリプトとして生成する方法とスクリプトを生成する方法)
  • ストアド プロシージャ
  • 拡張イベント

オブジェクト エクスプローラーで任意のオブジェクトをスクリプト化するには、オブジェクトを右クリックし、[オブジェクトとしてスクリプト化] オプションを選択します。 このチュートリアルでは、このプロセスについて説明します。

[前提条件]

このチュートリアルを実行するには、SQL Server Management Studio、SQL Server を実行しているサーバーへのアクセス、および AdventureWorks データベースが必要です。

SSMS でデータベースを復元する手順については、データベースの復元に関するページをご覧ください。

GUI からクエリをスクリプトで実行する

SSMS で GUI を使用してタスクを完了するたびに、タスクに関連付けられている T-SQL コードを生成できます。 次の例は、データベースをバックアップするとき、およびトランザクション ログを圧縮するときにこれを行う方法を示しています。 これらの同じ手順は、GUI を使用して完了した任意のアクションに適用できます。

データベースのバックアップ時に T-SQL をスクリプトする

  1. SQL Server を実行しているサーバーに接続します。

  2. データベース ノードを展開します。

  3. AdventureWorks2022>Tasks>Back Up データベースを右クリックします。

    データベースをバックアップする

  4. 必要な方法でバックアップを構成します。 このチュートリアルでは、すべてが既定のままです。 ただし、ウィンドウで行われた変更もスクリプトに反映されます。

  5. >。

    スクリプト データベースのバックアップ - スクリプト アクション

  6. クエリ ウィンドウに入力された T-SQL を確認します。

    スクリプト データベースのバックアップ - T-SQL の確認

  7. [ 実行 ] を選択してクエリを実行し、T-SQL 経由でデータベースをバックアップします。

トランザクション ログを圧縮するときに T-SQL をスクリプト化する

  1. データベース AdventureWorks2022>Tasks>Shrink>Files を右クリックします。

    ファイルの圧縮

  2. [ファイルの種類] ドロップダウン リスト ボックスから [ログ] を選択します。

    トランザクション ログの圧縮

  3. スクリプトスクリプト アクションをクリップボードに選択します

    クリップボードへのスクリプト

  4. [新しいクエリ] ウィンドウを開き、貼り付けます。 (ウィンドウ内を右クリックします。次に、[ 貼り付け] を選択します)。

    スクリプトの貼り付け

  5. [ 実行] を選択してクエリを実行し、トランザクション ログを圧縮します。

スクリプト データベース

次のセクションでは、スクリプトとして オプションと スクリプトの生成 オプションを使用してデータベースをスクリプト化する方法を説明します。 スクリプトとして オプションを使用すると、データベースとその構成オプションが再作成されます。 [スクリプトの生成] オプションを使用して、スキーマとデータ の両方をスクリプト 化できます。 このセクションでは、2 つの新しいデータベースを作成します。 AdventureWorks2022a を作成するには、スクリプト生成 オプションを使用します。 [スクリプトの 生成 ] オプションを使用して 、AdventureWorks2022b を作成します。

[スクリプト] オプションを使用してデータベースをスクリプト化する

  1. SQL Server を実行しているサーバーに接続します。

  2. データベース ノードを展開します。

  3. 右クリックして、データベース AdventureWorks2022 を選択し、>データベースのスクリプトを次のように作成>作成先>新しいクエリエディター ウィンドウに保存してください。

    スクリプト データベース

  4. ウィンドウでデータベース作成クエリを確認します。

    Scripted-out データベース このオプションは、データベース構成オプションのみをスクリプト化します。

  5. キーボードで Ctrl + F キーを押して、[ 検索 ] ダイアログ ボックスを開きます。 下矢印ボタンを選択して、[置換]オプションを開きます。 上部の [検索 ] 行に「AdventureWorks2022」と入力し、下部の [置換] 行に「AdventureWorks2022a」と入力します。

  6. AdventureWorks2022 のすべてのインスタンスを AdventureWorks2022a に置き換えるには、[すべて置換] を選択します。

    検索と置換

  7. [ 実行] を選択してクエリを実行し、新しい AdventureWorks2022a データベースを作成します。

[スクリプトの生成] オプションを使用してデータベースをスクリプト化する

  1. SQL Server を実行しているサーバーに接続します。

  2. データベース ノードを展開します。

  3. AdventureWorks2022>Tasks>Generate Scripts を右クリックします。

    データベースのスクリプトを生成する

  4. [説明] ページが開きます。 [ 次へ ] を選択して、[ オブジェクトの選択] ページを開きます。 データベース全体またはデータベース内の特定のオブジェクトを選択できます。 [データベース全体とすべてのデータベース オブジェクトのスクリプトを作成] を選択します。

    オブジェクトのスクリプトを生成する

  5. [次へ] を選択し、 [スクリプト作成オプションの設定] ページを開きます。 ここでは、スクリプトを保存する場所と、いくつかの追加の詳細オプションを構成できます。

    ある。 [ 新しいクエリ ウィンドウに保存] を選択します

    b。 [ 詳細設定] を 選択し、次のオプションが設定されていることを確認します。

    • [スクリプト統計][スクリプト統計] に設定されています。
    • スクリプトするデータの種類スキーマのみ に設定されています。
    • スクリプト インデックスが True に設定 されています

    スクリプト オブジェクト

    [スクリプト化するデータの種類] オプションで [スキーマ] と [データ ] を選択すると、データベース のデータをスクリプト 化できます。 ただし、これは大規模なデータベースでは理想的ではありません。 SSMS が割り当てることができるよりも多くのメモリが必要になる可能性があります。 この制限は、小規模なデータベースでは問題ありません。 大規模なデータベースのデータを移動する場合は、 インポートおよびエクスポート ウィザードを使用します。

  6. [OK] を選択し、 [次へ] を選択します。

  7. [概要] で [次へ] を選択します。 次に、もう一度 [次へ ] を選択して、[ 新しいクエリ] ウィンドウにスクリプトを生成します。

  8. キーボードで、[ 検索 ] ダイアログ ボックスを開きます (Ctrl + F キー)。 下矢印ボタンを選択して、[置換]オプションを開きます。 上部の [検索 ] 行に「 AdventureWorks2022」と入力します。 下部の [置換 ] 行に「 AdventureWorks2022b」と入力します。

  9. AdventureWorks2022 のすべてのインスタンスを AdventureWorks2022b に置き換えるには、[すべて置換] を選択します。

    AdventureWorks 2016

  10. [ 実行] を選択してクエリを実行し、新しい AdventureWorks2022b データベースを作成します。

スクリプト テーブル

このセクションでは、データベースからテーブルをスクリプトアウトする方法について説明します。 このオプションを使用して、テーブルを作成するか、テーブルを削除して作成します。 このオプションを使用して、テーブルの変更に関連付けられている T-SQL のスクリプトを作成することもできます。 たとえば、それに挿入したり、それを更新したりすることです。 このセクションでは、テーブルを削除してから再作成します。

  1. SQL Server を実行しているサーバーに接続します。

  2. [データベース] ノードを展開します。

  3. AdventureWorks2022 データベース ノードを展開します。

  4. [テーブル] ノードを展開します。

  5. dbo.ErrorLog を右クリックし、>スクリプト テーブルを>DROP および CREATE として>新しいクエリエディターウィンドウに選択します。

    スクリプト テーブル

  6. [ 実行] を選択してクエリを実行します。 このアクションにより 、Errorlog テーブルが削除され、再作成されます。

    データベースでは、AdventureWorks2022 テーブルは既定で空です。 そのため、テーブルを削除してもデータが失われません。 ただし、データがあるテーブルで次の手順を実行すると、データが失われます。

スクリプト ストアド プロシージャ

このセクションでは、ストアド プロシージャを削除して作成する方法について説明します。

  1. SQL Server を実行しているサーバーに接続します。

  2. [データベース] ノードを展開します。

  3. プログラム可能性ノードを展開します。

  4. [ストアド プロシージャ] ノードを展開します。

  5. ストアド プロシージャ dbo.uspGetBillOfMaterials>Script ストアド プロシージャ As>DROP と CREATE To>New クエリ エディター ウィンドウを右クリックします。

    スクリプト ストアド プロシージャ

拡張イベントのスクリプト作成

このセクションでは、 拡張イベントのスクリプトを作成する方法について説明します。

  1. SQL Server を実行しているサーバーに接続します。

  2. 管理ノードを展開します。

  3. 拡張イベント ノードを展開します。

  4. [セッション] ノードを展開します。

  5. 目的の拡張セッション上で右クリックし、>Script Session As>CREATE To>New クエリ エディター ウィンドウというオプションを選択します。

    拡張された新しいクエリ エディター ウィンドウ セッション

  6. [新しいクエリ エディター] ウィンドウで、セッションの新しい名前を system_health から system_health2 に変更します。 [ 実行] を選択してクエリを実行します。

  7. オブジェクト エクスプローラー[セッション] を右クリックします。 [ 最新の情報に更新] を選択して、新しい拡張イベント セッションを表示します。 セッションの横にある緑色のアイコンは、セッションが実行されていることを示します。 赤いアイコンは、セッションが停止したことを示します。

    新しい拡張イベント セッション

    セッションを右クリックして [開始] を選択すると、セッションを 開始できます。 ただし、これは既に実行中の system_health セッションのコピーであるため、この手順は省略できます。 拡張イベント セッションのコピーを削除できます。それを右クリックし、[削除] を選択 します

次のステップ

SSMS に慣れる最善の方法は、実践的な練習を通じて行う方法です。 これらの チュートリアルハウツー 記事は、SSMS 内で利用可能なさまざまな機能の使用を手助けします。 これらの記事では、SSMS のコンポーネントを管理する方法と、定期的に使用する機能を見つける方法について説明します。