從 SQL Server 2016 開始,備份到 Azure 的時候,由原本使用 Storage 帳戶和存取金鑰,改成使用 共用存取簽章,但該怎麼樣來做設定呢 ?
在 SQL Server 2012 推出的時候,就有提供備份資料庫到 Azure 的儲存體的功能。即便您就算是使用舊版本的 SQL Server ,雖然沒有內建備份到 URL 的功能,但依然是可以透過 Microsoft® SQL Server® Backup to Microsoft Azure®Tool 的工具程式,也可以達到同樣的目的。
而在 SQL Server 2014 推出的時候,同時也新增了 Managed Backup ( 受管理的備份 ),讓備份到 Azure 的這件事情,可以更加容易和方便。然而在 SQL Server 2016 推出的時候,把備份到 Azure 的時候,原本是使用 Azure Storage 的存取金鑰,改成使用 Azure Storage 下 Container 的 SAS ( Shared Access Signature ),並免以往使用太大的權限來做使用,而微軟也在官方的說明文件上 ( 網址 ) ,說明該如何透過 PowerShell 來進行這一段的設定。
之前在一次講課的時候,有朋友詢問到這個部分,表示使用 PowerShell 的方法似乎很麻煩,有沒有比較簡單的方式。因為官方文件在撰寫的時候還是在 SQL Server 2016 剛推出的時候,後來在 SSMS 上面,已經有 Wizard 可以來使用,因此整理一下相關的設定來當作筆記囉。
首先我先在 Azure 上面建立一個 Storage 來做存放的空間,這裡我雖然設定的帳戶總類是「一般用途」,但這一個部分就看您自己的需要,如果您不考慮使用 Azure Storage 的其他功能,要設定為「Blob 儲存體」也都沒有問題
接著我在 Storage Blob 下面先去建立 Container ,以便讓後續讓 SQL Server 來存放備份所使用
完成 Azure 上的設定之後,接著我們可以回到 SSMS 上面來作設定,這裡我所使用的是 SSMS v17.3 的版本,隨便選擇一個資料庫,這裡我就選 model 資料庫來當範例,選擇「工作」→「備份」
接著我們在畫面上選擇備份目的是 「URL」,並且按下「新增」的按鈕
在目的地的畫面上,選擇「新增容器」
接著我們就可以在接下來這個畫面中,先登入到 Azure ,接著在選擇訂用帳號、儲存體帳戶和 Blob 容易,這些我就根據前面步驟所建立的設定好,就可以在下方按下「建立認證」
接著畫面上就會顯示出來產生的認證資訊,按下 OK 就完成相關設定了,一切就是那麼簡單囉。