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.
說明
首先需要在 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'