SQL Server 2008 R2版本的執行個體支援便捷的資料上雲操作,您只需要在自建資料庫上利用微軟官方備份功能備份好全量資料,再將備份檔案上傳至阿里雲的Object Storage Service中,就可以通過RDS控制台一鍵將資料全量遷移至RDS的指定資料庫中。該功能利用了微軟官方的備份恢複方案,相容性100%,加上OSS強大的能力,使資料上雲效率非常高。本文將介紹本機資料上雲的操作步驟。

前提條件

已在RDS中建立目標資料庫,關於如何建立資料庫,請參見建立資料庫和帳號SQL Server 2008 R2版

说明
RDS中的目標資料庫名稱可以與要遷移的本機資料庫名稱相同。

計費說明

資料上雲操作時,RDS不會額外收取費用,OSS會收取費用,詳情如下圖所示。



圖示說明:

  • 將本機資料備份檔案上傳至OSS時不產生任何額外費用。
  • 當備份檔案儲存在OSS上時,需要額外支付OSS的儲存費用,計費詳情請參見OSS定價
  • 將備份檔案從OSS遷移至RDS時,若通過內網遷移,不產生任何額外費用;若通過外網遷移,OSS會收取外網流出流量的費用,計費詳情請參見OSS定價
    说明
    只有當RDS執行個體和OSS的Bucket在同一地域時,二者才能內網互通。所以在上傳備份檔案時,請將檔案上傳至與目標RDS執行個體在同一地域的Bucket上面。

操作步驟

  1. 準備本機資料庫,詳細步驟如下:
    1. 啟動Microsoft SQL Server Management Studio (SSMS)用戶端。
    2. 登入要上雲的資料庫。
    3. 執行如下命令,檢查本機資料庫的Recover Mode。
      use master;
      go
      select name, case recovery_model
      when 1 then 'FULL'
      when 2 then 'BULD_LOGGED'
      when 3 then 'SIMPLE' end model from sys.databases
      where name not in ('master','tempdb','model','msdb');
      go

      確認本機資料庫的model值:

      • 如果model值不為FULL,請執行步驟d。

      • 如果model值為FULL,請執行步驟e。

    4. 執行如下命令,將來源資料庫的Recover Mode設定為FULL。
      ALTER DATABASE [dbname] SET RECOVERY FULL;
      go
      ALTER DATABASE [dbname] SET AUTO_CLOSE OFF;
      go
      说明
      將Recover Mode改成FULL模式後,會使SQL Server日誌增加,請確保有足夠的硬碟空間。
    5. 執行如下命令,備份來源資料庫,本例以備份檔案名為filename.bak為例。
      use master;
      go
      BACKUP DATABASE [testdbdb] to disk ='d:\backup\filename.bak' WITH COMPRESSION,INIT;
      go
    6. 執行如下命令,校驗備份檔案的完整性。
      USE master
       GO
       RESTORE FILELISTONLY 
         FROM DISK = N'D:\Backup\filename.bak';

      返回結果說明:

      • 如果有結果集返回,則備份檔案有效。
      • 如果報錯,則備份檔案有誤,請執行步驟e,重新備份。
    7. 執行如下命令,還原來源資料庫的Recover Mode。
      ALTER DATABASE [dbname] SET RECOVERY SIMPLE;
      go
      说明
      如果您未執行步驟d,即資料庫的Recover Mode本來就是FULL,沒有做過變更,則無需執行該步驟。
  2. 將本地備份檔案上傳至OSS並獲取檔案的URL,詳細步驟如下:
    1. 將備份檔案上傳到OSS中,詳細步驟如下:
      • 關於上傳小於5GB的單個檔案的操作步驟,請參見上傳檔案
      • 關於上傳多個檔案或大於5GB的單個檔案的操作步驟,請參見斷點續傳。若需要使用圖形化的操作介面,請參見ossbrowser
    2. OSS 管理主控台左側的功能表列中,選擇備份檔案所在的Bucket。


    3. 選擇檔案管理
    4. 單擊目標備份檔案的檔案名。


    5. 簽名欄中修改連結的有效時間,建議改成28800秒,即8小時。
      说明
      將備份檔案從OSS遷移至RDS時,需要使用備份檔案的URL,若該URL超過了連結的有效時間,則資料移轉會失敗,所以建議您將該參數設定為最大值28800秒。
    6. 單擊複製檔案URL,系統預設的是檔案的外網串連地址。


    7. 若要通過內網遷移資料,將備份檔案URL中的Endpoint改成內網Endpoint。不同的網路類型、不同地域所對應的內網Endpoint不同,詳情請參見訪問網域名稱和資料中心
      例如,若備份檔案的URL是:
      http://rdstest-yanhua.oss-cn-shanghai.aliyuncs.com/testmigraterds_20170906143807_FULL.bak?Expires=1514189963&OSSAccessKeyId=TMP.AQGVf994YTPfArSpw78uix2rdGBi-dPe_FzQSLwOLP7MVlR-XXXX
      您需要將URL中的外網Endpoint
      oss-cn-shanghai.aliyuncs.com
      改成內網Endpoint
      oss-cn-shanghai-internal.aliyuncs.com
  3. 將備份檔案從OSS遷移至RDS,詳細步驟如下:
    1. 登入RDS管理主控台
    2. 選擇目標執行個體所在地域。
    3. 單擊目標執行個體的ID,進入基本資料頁面。
    4. 在左側功能表列中選擇資料庫管理,進入資料庫管理頁面。
    5. 找到目標資料庫,在其對應的操作欄中,單擊從OSS上的備份檔案遷入


    6. 資料匯入嚮導對話方塊中,閱讀提示內容,單擊下一步,進入上傳備份檔案到OSS頁面。
    7. 閱讀提示內容,單擊下一步,進入資料匯入頁面。
    8. 備份檔案OSS URL欄中填寫備份檔案在OSS的URL。
      说明
      目前,RDS僅支援一種上雲方案,即全量備份檔案一次性遷入


    9. 單擊確定
    10. 在左側功能表列中選擇資料上雲,進入從OSS遷移備份檔案至RDS中的工作清單頁面。

    11. 找到目標遷移任務,若任務狀態成功,則表示資料已成功遷移至RDS的資料庫中。若遷移任務長時間沒有變成成功狀態,單擊目標遷移任務後面的查看檔案詳情,即可查看任務沒有成功的原因。解決完問題後,請重新執行上述所需要的步驟。