快速入門:使用 SSMS 將資料庫還原至 Azure SQL 受控執行個體

適用於:Azure SQL 受控執行個體

在本快速入門中,您將使用 SQL Server Management Studio (SSMS),將資料庫 (Wide World Importers - Standard 備份檔案) 從 Azure Blob 儲存體還原至 Azure SQL 受控執行個體

注意

如需使用 Azure 資料庫移轉服務進行移轉的詳細資訊,請參閱教學課程:使用 Database Migration Service 將 SQL Server 移轉至 Azure 受控執行個體。 如需各種移轉方法的詳細資訊,請參閱SQL Server 至 Azure SQL 受控執行個體指南

必要條件

此快速入門:

注意

如需有關使用 Azure Blob 儲存體和共用存取簽章 (SAS) 金鑰來備份和還原 SQL Server 資料庫的詳細資訊,請參閱 SQL Server 備份到 URL

使用還原精靈從備份檔案還原

在 SSMS 中,遵循以下步驟以使用還原精靈將 Wide World Importers 資料庫還原至 SQL 受控執行個體。 資料庫備份檔案儲存在預先設定的 Azure Blob 儲存體帳戶中。

  1. 開啟 SSMS 並連線到您的受控執行個體。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下受控執行個體的資料庫,然後選取 [還原資料庫] 以開啟還原精靈。

    Screenshot that shows opening the restore wizard.

  3. 在新增還原精靈中,選取省略符號 (...) 以選取要使用的備份檔案來源。

    Screenshot that shows opening a new restore wizard window.

  4. 在 [選取備份裝置] 中選取 [新增]。 在 [備份媒體類型] 中,[URL] 是唯一的選項,因為這是唯一支援的來源類型。 選取 [確定]。

    Screenshot that shows selecting the device.

  5. 在 [選取備份檔案位置] 中,您可以從三個選項中選擇,以提供備份檔案所在位置的相關資訊:

    • 從下拉式清單中選取預先註冊的儲存體容器。
    • 輸入新的儲存體容器和共用存取簽章。 (系統會為您註冊新的 SQL 認證。)
    • 選取 [新增] 以從您的 Azure 訂用帳戶瀏覽更多儲存體容器。

    Screenshot that shows selecting the backup file location.

    如果您選取 [新增] 按鈕,請完成下一個步驟。 如果您使用不同的方法來提供備份檔案位置,請移至步驟 12。

  6. 在 [連線至 Microsoft 訂用帳戶] 中,選取 [登入] 以登入您的 Azure 訂用帳戶:

    Screenshot that shows Azure subscription sign-in.

  7. 登入您的 Microsoft 帳戶,以在 Azure 中起始工作階段:

    Screenshot that shows signing in to the Azure session.

  8. 選取備份檔案所在儲存體帳戶的訂用帳戶:

    Screenshot that shows selecting the subscription.

  9. 選取備份檔案所在的儲存體帳戶:

    Screenshot that shows the storage account.

  10. 選取備份檔案所在的 Blob 容器:

    Select Blob container

  11. 指定共用存取原則的到期日,然後選取 [建立認證]。 即會建立具有正確權限的共用存取簽章。 選取 [確定]。

    Screenshot that shows generating the shared access signature.

  12. 在左窗格中,展開資料夾結構,以顯示備份檔案所在的資料夾。 選取與要還原備份組相關的所有備份檔案,然後選取 [確定]:

    Screenshot that shows the backup file selection.

    SSMS 會驗證備份組。 視備份組的大小而定,程序最多需要幾秒鐘的時間。

  13. 如果已驗證備份,請指定目的地資料庫名稱或保留備份組的資料庫名稱,然後選取 [確定]:

    Screenshot that shows starting the restore.

    還原隨即啟動。 持續時間取決於備份組的大小。

    Screenshot that shows running the restore.

  14. 當還原完成時,對話方塊會顯示已成功。 選取 [確定]。

    Screenshot that shows the finished restore.

  15. 在物件總管中檢查已還原的資料庫:

    Screenshot that shows the restored database.

使用 T-SQL 從備份檔案還原

在 SQL Server Management Studio 中,遵循這些步驟以將 Wide World Importers 資料庫還原至 SQL 受控執行個體。 資料庫備份檔案儲存在預先設定的 Azure Blob 儲存體帳戶中。

  1. 開啟 SSMS 並連線到您的受控執行個體。

  2. 在 [物件總管] 中,以滑鼠右鍵按一下您的受控執行個體,並選取 [新增查詢] 以開啟新的查詢視窗。

  3. 執行下列 SQL 指令碼,其會使用預先設定的儲存體帳戶和 SAS 金鑰,在您的受控執行個體中建立認證

    重要

    CREDENTIAL 必須符合容器路徑、以 https 開頭,而且不能在結尾包含正斜線。 IDENTITY 必須是 SHARED ACCESS SIGNATURESECRET 必須是共用存取簽章權杖,而且最前面不能包含 ?

    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'
    

    create credential

  4. 若要檢查您的認證,請執行下列指令碼,它會使用容器 URL 來取得備份檔案清單。

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

    file list

  5. 執行下列程式碼以還原 Wide World Importers 資料庫。

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

    Screenshot shows the script running in Object Explorer with a success message.

  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 檢視來確認資料庫還原已完成。

注意

資料庫還原作業是非同步的,而且可以重試。 如果連線中斷或逾時已過期,您可能會在 SQL Server Management Studio 中收到錯誤。 Azure SQL 受控執行個體將會繼續嘗試在背景還原資料庫,而且您可以使用 sys.dm_exec_requestssys.dm_operation_status 檢視追蹤還原進度。 在還原程序的某些階段中,您將會在系統檢視中看到唯一識別碼,而不是實際的資料庫名稱。 在這裡了解 RESTORE 陳述式行為差異。

後續步驟