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

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

在本快速入門,您將使用 SQL Server Management Studio (SSMS) 將資料庫從 Azure Blob 儲存體還原到 Azure SQL 受控執行個體。 本快速入門會使用 SAS 從公開可用的備份檔案還原 Wide World Importers 樣本資料庫。

注意

必要條件

本快速入門:

注意

如需詳細資訊瞭解如何使用 Blob 儲存體 與共用存取簽章金鑰來備份及還原 SQL Server 資料庫的,請參閱 SQL Server 備份至網址

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

在 SSMS,採取下列各節步驟,使用還原精靈還原 Wide World Importers 資料庫至 SQL 受控執行個體。 資料庫備份檔案會儲存在預先設定的 Blob 儲存體帳戶。

開啟還原精靈

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

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

    SSMS 中物件總管的螢幕擷取畫面。已選取 [資料庫] 資料夾。在其快捷方式功能表中,已選取 [還原資料庫]。

選取備份來源

  1. 在還原精靈,選取省略號 () 以便選取要還原的備份組來源。

    還原精靈中頁面的螢幕擷取畫面。在 [來源] 區段中,已選取 [裝置],並標註省略號。

  2. 在 [選取備份裝置],選取 [新增]。 在 [備份媒體類型],[URL]是唯一可用選項,因其是唯一支援來源類型。 選取 [確定]。

    [選取備份裝置] 對話方塊的螢幕擷取畫面照。已呼叫 [新增] 和 [確定] 按鈕。

  3. 在 [選取備份檔案位置],從三個選項選擇,以便提供備份檔案位置相關資訊:

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

    [選取備份檔案位置] 對話方塊的螢幕擷取畫面。在 Azure 儲存體容器區段中,已選取 [新增]。

    如果您選取 [新增],請繼續進行下一節瀏覽 Azure 訂用帳戶儲存體容器。 如果您使用不同方法來提供備份檔案位置,請跳至還原資料庫

    若要從可公開存取的唯讀儲存體還原 Wide World Importers 樣本資料庫,請提供 https://mitutorials.blob.core.windows.net/examples/ 值,同時針對 [共用存取簽章] 欄位提供任何值,例如 SAS

    [選取備份檔案位置] 對話方塊的螢幕擷取畫面。已指定範例 WideWorldImporters 資料夾位置。[選取] 會以紅色框起來。

瀏覽 Azure 訂用帳戶儲存體容器

注意

若要從可公開存取的唯讀 Azure Blob 儲存體還原 WideWorldImporters 樣本資料庫,不需要這些步驟,但若要從您自己的 Azure Blob 儲存體還原資料庫,則需要。

  1. 在 [連線 Microsoft 訂用帳戶],選取 [登入] 以便登入您的 Azure 訂用帳戶。

    [連線到 Microsoft 訂用帳戶] 對話方塊的螢幕擷取畫面。已呼叫 [登入] 按鈕。

  2. 登入您的 Microsoft 帳戶,即可在 Azure 起始工作階段。

    [登入您的帳戶] 對話方塊的螢幕擷取畫面。可以看到 Microsoft 標誌、登入方塊和其他 UI 元素。

  3. 選取包含備份檔案的儲存體帳戶訂用帳戶。

    [連線到 Microsoft 訂用帳戶] 對話方塊的螢幕擷取畫面。在 [選取要使用的訂用帳戶] 下,會呼叫清單方塊中的向下箭號。

  4. 選取包含備份檔案的儲存體帳戶。

    [連線到 Microsoft 訂用帳戶] 對話方塊的螢幕擷取畫面。會呼叫 [選取儲存體帳戶] 清單方塊中的向下箭號。

  5. 選取包含備份檔案的 Blob 容器。

    [連線到 Microsoft 訂用帳戶] 對話方塊的螢幕擷取畫面。會呼叫 [選取 Blob 容器] 清單方塊中的向下箭號。

  6. 輸入共用存取原則的期間屆滿日,然後選取 [建立認證]。 系統會建立具正確權限的共用存取簽章。 選取 [確定]。

    [連線到 Microsoft 訂用帳戶] 對話方塊的螢幕擷取畫面。會呼叫 [建立認證]、[確定] 和 [共用存取原則到期] 方塊。

還原資料庫

現在您已選取儲存體容器,您應會看到 [在 Microsoft Azure 尋找備份檔案]對話方塊。

  1. 展開左窗格的資料夾結構,顯示包含備份檔案的資料夾。 在右窗格,針對您要還原的備份組選取相關的所有備份檔案,然後選取 [確定]。 例如,下方螢幕擷取畫面顯示包含 WideWorldImporters 樣本資料庫的可公開存取唯讀 Blob 儲存體。

    [在 Microsoft Azure 中尋找備份檔案] 對話方塊的螢幕擷取畫面。已選取 WideWorldImporters-Standard.bak 備份檔案,且 [確定] 按鈕會以紅色框住。

    SSMS 會驗證備份組。 此程序最多只需要幾秒鐘的時間。 持續時間取決於備份組大小。

  2. 如已驗證備份,您必須指定正在還原的資料庫名稱。 根據預設,[目的地] 下方的 [資料庫]方塊會包含備份組資料庫名稱。 若要變更名稱,請輸入 [資料庫]的新名稱。 選取 [確定]。

    還原精靈中頁面的螢幕擷取畫面。在 [目的地] 區段中,會呼叫 [資料庫] 方塊。也會呼叫 [確定] 按鈕。

    還原程序即會開始。 持續時間取決於備份組大小。

    還原精靈中頁面的螢幕擷取畫面。已呼叫進度指示器。

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

    還原精靈中頁面對話方塊的螢幕擷取畫面。對話方塊中的訊息表示資料庫已成功還原。

  4. 在 [物件總管],選取 [重新整理],檢查已還原資料庫。

    物件總管的螢幕擷取畫面。會呼叫已還原的資料庫。

使用 T SQL 從備份檔案還原

作為還原精靈的替代方案,您可使用 T-SQL 陳述式來還原資料庫。 在 SSMS,採取下列步驟,使用 T-SQL 來還原 Wide World Importers 資料庫至 SQL 受控執行個體。 資料庫備份檔案會儲存在預先設定的 Blob 儲存體帳戶。

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

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

  3. 執行下列 T-SQL 陳述式,其會使用公開可用的預先設定儲存體容器和共用存取簽章金鑰,在您的 SQL 受控執行個體中建立認證

    重要

    • CREDENTIAL 必須符合容器路徑,開頭為 https,且不能包含尾端正斜線。
    • IDENTITY 必須是 SHARED ACCESS SIGNATURE
    • SECRET 必須是共用存取簽章權杖,且不能包含前置 ?
    • 在此範例,由於儲存體帳戶已公開提供,因此會省略 SECRET。 如果您使用未公開提供的儲存體帳戶,則必須提供共用存取簽章權杖。
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE';
    

    顯示 SSMS 查詢編輯器的螢幕擷取畫面。CREATE CREDENTIAL 陳述式是可見的,而且訊息表示查詢已成功執行。

    上個範例的認證路徑會提供單一檔案存取權。 您也可建立資料夾路徑的共用存取簽章權杖,例如:

    CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = '<your shared access signature>'; -- omit the leading ?
    
  4. 若要檢查您的認證是否正確運作,請執行下列陳述式,其會使用 URL 來取得備份檔案清單。

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

    顯示 SSMS 查詢編輯器的螢幕擷取畫面。RESTORE FILELISTONLY 陳述式是可見的,而 [結果] 索引標籤會列出三個檔案。

  5. 執行下列陳述式來還原 Wide World Importers 資料庫範例。

    RESTORE DATABASE [WideWorldImportersExample] FROM URL =
      'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    顯示 SSMS 查詢編輯器的螢幕擷取畫面。RESTORE DATABASE 陳述式是可見的,而且訊息表示查詢已成功執行。

    提示

    如果您收到 Error: 3201Operating system error 86(The specified network password is not correct.),可能是因為未正確建立 SAS 認證 (在先前步驟中建立)。 DROP CREDENTIAL 並重新建立,檢閱認證名稱、身分識別和祕密。

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

注意

資料庫還原作業為非同步作業,且可重試。 如果連線失敗或逾時到期,您可能會在 SSMS 收到錯誤。 SQL 受控執行個體將會繼續嘗試在背景還原資料庫,而且您可以使用 sys.dm_exec_requestssys.dm_operation_status 檢視追蹤還原流程進度。

在還原程序的部分階段,您會在系統檢視看到唯一識別碼,而非實際資料庫名稱。 若要瞭解 RESTORE 陳述式行為差異,請參閱 SQL Server 與 Azure SQL 受控執行個體 之間的 T-SQL 差異