使用原生備份和還原來移轉資料庫

已完成

許多 SQL Server 專業人員認為使用備份和還原進行移轉,是最簡單的移轉方法。

Microsoft Azure Blob 儲存體支援兩種類型的 Blob:區塊 Blob 和分頁 Blob。 針對 SQL Server 2016 和更新版本,建議使用區塊 Blob。 選擇區塊 Blob 或分頁 Blob 取決於所使用的認證類型 - 共用存取簽章適用於區塊 Blob,而儲存體金鑰適用於分頁 Blob。

相較於分頁 Blob,備份至區塊 Blob 提供更安全的授權、改善的備份效能及支援較大的資料庫備份等優點。

如果您選擇執行完整資料庫備份至檔案,您可以透過 Azure Data ExplorerAzCopy 命令列公用程式,將內部部署備份檔案傳送至 Azure VM。

在 SQL Server 中透過 Azure Blob 儲存體服務備份及還原

備份至 URL 需有 Azure 儲存體帳戶,且需使用 Azure Blob 儲存體服務。 儲存體帳戶中具有容器,Blob 就儲存在這些容器中。 與本機磁碟上的路徑不同,備份檔案的路徑看起來像是 https://{AccountName}.blob.core.windows.net/{ContainerName}/MyDatabase.bak。 您可以在容器底下新增額外的資料夾名稱,方便您更輕鬆識別備份 (例如 FULL、DIFF、LOG)。

若要備份至 URL 或從 URL 還原,必須在 SQL Server 執行個體與 Azure 之間建立驗證。 請記得,在 Azure VM 中,SQL Server 不知道自己是在 Azure 上執行。

您建立 SQL Server 認證時,針對驗證您有兩個選項:

  • Azure 儲存體帳戶名稱和存取金鑰,其會將備份儲存為分頁 Blob
  • 共用存取簽章,其會將備份儲存為區塊 Blob。 對於較大的資料庫,您可以備份至多個區塊 Blob。

提示

對於較大的資料庫,建議使用壓縮的資料庫備份。

從 URL 還原就像從磁碟或網路共用還原一樣簡單。 在 SQL Server Management Studio 中,從精靈的備份媒體類型中選取 [URL]。 如果使用 Transact-SQL 而不是使用 FROM DISK,您可以使用 FROM URL 搭配適當的位置和備份檔案名稱。

注意

支援等量備份組,而且基於效能考量是建議選項。 此外,如果備份小於 200 GB,請等量分割備份以避免區塊限制。

執行下列陳述式以備份交易記錄。

BACKUP LOG contoso 
TO URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso202003271200.trn' 

執行下列陳述式,在不進行復原的情況下還原完整資料庫備份,以便套用差異或交易記錄備份。

RESTORE DATABASE contoso 
FROM URL = 'https://myacc.blob.core.windows.net/mycontainer/contoso20200327.bak' 
WITH NORECOVERY