クイック スタート:SSMS を使用して Azure SQL Managed Instance にデータベースを復元する

適用対象: Azure SQL Managed Instance

このクイックスタートでは、SQL Server Management Studio (SSMS) を使用して、Azure Blob Storage から Azure SQL Managed Instance にデータベースを復元します。

このクイックスタートでは、バックアップ ファイルから Wide World Importers データベースを復元します。 SSMS でデータベースを復元するには、次の 2 つの方法があります。

  • 復元ウィザード
  • T-SQL ステートメント

Note

前提条件

このクイック スタート:

Note

Blob Storage と Shared Access Signature キーを使用した SQL Server データベースのバックアップと復元の詳細については、SQL Server の Backup to URLに関するページを参照してください。

復元ウィザードを使用してバックアップ ファイルから復元する

SSMS で、次のセクションの手順を行い、復元ウィザードを使用して Wide World Importers データベースを SQL Managed Instance に復元します。 データベース バックアップ ファイルは、事前構成済みの Blob Storage アカウントに格納されています。

復元ウィザードを開く

  1. SSMS を開き、お使いのマネージド インスタンスに接続します。

  2. オブジェクト エクスプローラーで、マネージド インスタンスの[データベース] フォルダーを右クリックし、[データベースの復元] を選択して復元ウィザードを開きます。

    SSMS でのオブジェクト エクスプローラーのスクリーンショット。[データベース] フォルダーが選択されています。そのショートカット メニューで、[データベースの復元] が選択されています。

バックアップ ソースを選択する

  1. 新しい復元ウィザードで、省略記号 (...) を選択して、復元するバックアップ セットのソースを選択します。

    ウィザード復元のページのスクリーンショット。[ソース] セクションで [デバイス] が選択されており、省略記号が強調表示されています。

  2. [バックアップ デバイスの選択] で、 [追加] を選択します。 サポートされているソースの種類は [URL] のみであるため、[バックアップ メディアの種類] で使用できるのは、このオプションのみです。 [OK] を選択します。

    [バックアップ デバイスの選択] ダイアログのスクリーンショット。[追加] ボタンと [OK] ボタンが強調表示されています。

  3. [バックアップ ファイルの場所を選択] で、3 つのオプションのいずれかを選択して、バックアップ ファイルの場所に関する情報を指定します。

    • [Azure ストレージ コンテナー] の一覧から事前登録済みのストレージ コンテナーを選択します。
    • 新しいストレージ コンテナーと Shared Access Signature を入力します。 新しい SQL 資格情報が自動的に登録されます。
    • [追加] を選択して、Azure サブスクリプションからさらに多くのストレージ コンテナーを参照します。

    [バックアップ ファイルの場所を選択] ダイアログのスクリーンショット。[Azure ストレージ コンテナー] セクションで、[追加] が選択されています。

    [追加] を選択した場合は、次のセクション「Azure サブスクリプションのストレージ コンテナーを参照する」に進みます。 別の方法を使用してバックアップ ファイルの場所を指定した場合は、「データベースを復元する」に進みます。

Azure サブスクリプションのストレージ コンテナーを参照する

  1. [Microsoft サブスクリプションへの接続][サインイン] を選択して、お使いの Azure サブスクリプションにサインインします。

    [Microsoft サブスクリプションへの接続] ダイアログのスクリーンショット。[サインイン] ボタンが強調表示されています。

  2. Microsoft アカウントにサインインし、Azure でセッションを開始します。

    アカウントへの [サインイン] のスクリーンショット。Microsoft ログ、サインイン ボックス、その他の UI 要素が表示されています。

  3. バックアップ ファイルが含まれているストレージ アカウントのサブスクリプションを選択します。

    [Microsoft サブスクリプションへの接続] ダイアログのスクリーンショット。[使用するサブスクリプションの選択] で、リスト ボックスの下矢印が強調表示されています。

  4. バックアップ ファイルが含まれているストレージ アカウントを選択します。

    [Microsoft サブスクリプションへの接続] のスクリーンショット。[ストレージ アカウントの選択] リスト ボックスの下矢印が強調表示されています。

  5. バックアップ ファイルが含まれている BLOB コンテナーを選択します。

    [Microsoft サブスクリプションへの接続] のスクリーンショット。[BLOB コンテナーの選択] リスト ボックスの下矢印が強調表示されています。

  6. 共有アクセス ポリシーの有効期限を入力し、[資格情報の作成] を選択します。 適切なアクセス許可を持つ Shared Access Signature が作成されます。 [OK] を選択します。

    [Microsoft サブスクリプションへの接続] のスクリーンショット。[資格情報の作成]、[OK]、[共有アクセス ポリシーの有効期限] ボックスが強調表示されています。

データベースを復元する

ストレージ コンテナーを選択したので、[Microsoft Azure でのバックアップ ファイルの選択] ダイアログが表示されます。

  1. 左側のペインでフォルダー構造を展開して、バックアップ ファイルが含まれているフォルダーを表示します。 右側のペインで、復元するバックアップ セットに関連するすべてのバックアップ ファイルを選択し、[OK] を選択します。

    [Microsoft Azure でのバックアップ ファイルの選択] ダイアログのスクリーンショット。4 つのバックアップ ファイルが表示され、1 つが強調表示されています。[OK] ボタンが強調表示されています。

    SSMS によってバックアップ セットが検証されます。 このプロセスには数秒しかかかりません。 所要時間は、バックアップ セットのサイズによって異なります。

  2. バックアップを検証する場合、復元するデータベースの名前を指定する必要があります。 既定では、[バックアップ先][データベース] ボックスにバックアップ セット データベースの名前が表示されます。 名前を変更するには、[データベース] に新しい名前を入力します。 [OK] を選択します。

    復元ウィザードのページのスクリーンショット。[バックアップ先] セクションの [データベース] ボックスが強調表示されています。[OK] ボタンも強調されています。

    復元プロセスが開始されます。 所要時間は、バックアップ セットのサイズによって異なります。

    復元ウィザードのページのスクリーンショット。進行状況インジケーターが強調表示されています。

  3. 復元プロセスが完了すると、成功したことを示すダイアログが表示されます。 [OK] を選択します。

    復元ウィザードのページの上に表示されたダイアログのスクリーンショット。ダイアログのメッセージは、データベースが正常に復元されたことを示しています。

  4. オブジェクト エクスプローラーで、復元されたデータベースを確認します。

    オブジェクト エクスプローラーのスクリーンショット。復元されたデータベースが強調表示されています。

T-SQL を使用してバックアップ ファイルから復元する

復元ウィザードの代わりに T-SQL ステートメントを使用してデータベースを復元できます。 SSMS で、次の手順に従い、T-SQL を使用して Wide World Importers データベースを SQL Managed Instance に復元します。 データベース バックアップ ファイルは、事前構成済みの Blob Storage アカウントに格納されています。

  1. SSMS を開き、お使いのマネージド インスタンスに接続します。

  2. オブジェクト エクスプローラーで、マネージド インスタンスを右クリックし、 [新しいクエリ] を選択して新しいクエリ ウィンドウを開きます。

  3. 次の T-SQL ステートメントを実行します。このステートメントは、事前構成済みのストレージ アカウントと Shared Access Signature キーを使用して、マネージド インスタンスに資格情報を作成します。

    重要

    • CREDENTIAL はコンテナーのパスと一致し、https で始まる必要があり、末尾にスラッシュを含めることはできません。
    • IDENTITY は、SHARED ACCESS SIGNATURE である必要があります。
    • SECRET は Shared Access Signature トークンである必要があり、先頭に ? を含めることはできません。
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = 'sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2028-09-06T02:52:55Z&st=2018-09-04T18:52:55Z&spr=https&sig=WOTiM%2FS4GVF%2FEEs9DGQR9Im0W%2BwndxW2CQ7%2B5fHd7Is%3D'
    

    SSMS クエリ エディターを示すスクリーンショット。CREATE CREDENTIAL ステートメントが表示されており、メッセージはクエリが正常に実行されたことを示しています。

  4. 資格情報を確認するには、次のステートメントを実行します。このスクリプトでは、コンテナーの URL を使用してバックアップ ファイルの一覧を取得します。

    RESTORE FILELISTONLY FROM URL =
       'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    

    SSMS クエリ エディターを示すスクリーンショット。RESTORE FILELISTONLY ステートメントが表示されており、[結果] タブに 3 つのファイルが一覧表示されています。

  5. 次のステートメントを実行して、Wide World Importers データベースを復元します。

    RESTORE DATABASE [Wide World Importers] FROM URL =
      'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    

    SSMS クエリ エディターを示すスクリーンショット。RESTORE DATABASE ステートメントが表示されており、メッセージはクエリが正常に実行されたことを示しています。

    復元プロセスがメッセージ ID 22003 で終了した場合、バックアップ チェックサムを格納する新しいバックアップ ファイルを作成し、復元プロセスを再度開始します。 「バックアップ中または復元中にバックアップ チェックサムを有効または無効にする」を参照してください。

  6. 次のステートメントを実行して、復元の状態を追跡します。

    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete
       , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
    
  7. 復元が完了したら、オブジェクト エクスプローラーでデータベースを表示します。 データベースが復元されたことを確認するには、sys.dm_operation_status ビューを使用します。

Note

データベースの復元操作は非同期であり、再試行可能です。 接続が失敗した場合、またはタイムアウトが発生した場合、SSMS にエラーが表示されます。 SQL Managed Instance によって、バックグラウンドでデータベースの復元の試行が続けられます。復元プロセスの進行状況は、sys.dm_exec_requests および sys.dm_operation_status ビューを使用して追跡できます。

復元プロセスの一部のフェーズでは、システム ビューに、実際のデータベース名ではなく一意の識別子が表示されます。 RESTORE ステートメントの動作の違いについては、「SQL Server と Azure SQL Managed Instance での T-SQL の相違点」を参照してください。

次のステップ