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

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

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

注意

如需使用 Azure 資料庫移轉服務進行移轉的詳細資訊,請參閱使用資料庫移轉服務的 SQL 受控執行個體移轉。 如需各種移轉方法的詳細資訊,請參閱將 SQL Server 移轉至 Azure SQL 受控執行個體

必要條件

此快速入門:

注意

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

從備份檔案還原

在 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'
    

    建立認證

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

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

    檔案清單

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

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

    此螢幕擷取畫面顯示在物件總管中執行的指令碼與成功訊息。

  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 Database 將會繼續嘗試在背景還原資料庫,而且您可以使用 sys.dm_exec_requestssys.dm_operation_status 檢視追蹤還原進度。 在還原程序的某些階段中,您將會在系統檢視中看到唯一識別碼,而不是實際的資料庫名稱。 在這裡了解 RESTORE 陳述式行為差異。

後續步驟