SQL Server 使用 Azure Storage Account 備份資料庫 (Backup Database To URL)

2022-09-08

說明如何將 SQL Server 的資料庫備份至 Azure,以及從 Azure 將資料庫還原至地端。
How to backup SQL Server database to Azure Storage Account with URL, and restore database from Azure Storage Account with URL.

SQL Server Logo

說明

首先需要在 Azure 上建立 Storage Account,接著建立 Container。

Create Credentials

完成 Container 建立後,需要產生 SAS,並交由 SQL Server 產生 Credential。

Storage Account Container 所發行的 SAS 權限必須包含「讀取」以及「寫入」,如果給「建立」與「新增」無法完成備份。

IF EXISTS 

(SELECT * FROM sys.credentials 

WHERE name = 'https://sdwhstorage.blob.core.windows.net/sqlbackups') 

BEGIN
    DROP CREDENTIAL [https://sdwhstorage.blob.core.windows.net/sqlbackups]
END

GO
CREATE CREDENTIAL [https://sdwhstorage.blob.core.windows.net/sqlbackups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sp=rw&st=2022-09-01T01:00:....'
GO 

建立好的 Credential 可以在資料庫伺服器 Instance 的安全性 / 認證當中觀察到。

Backup & Restore

BACKUP DATABASE [Northwind]
TO URL = N'https://sdwhstorage.blob.core.windows.net/sqlbackups/Northwind.bak' 
WITH FORMAT, NAME = N'[Northwind]', STATS = 10
GO

備份的作業,也可以使用 SSMS 的 GUI 來進行:

RESTORE DATABASE [Northwind]
FROM URL = N'https://sqlserverarchive.blob.core.windows.net/sqlbackup/Northwind.bak' 

相關連結

SQL Server Integrated Service 初探

SQL Server 閃電般快速查詢指南⚡

SQL Server 周邊工具彙整筆記

SQL Server 學習資源筆記