2026年1月30日 星期五

在SQL Server中使用 Azure Storage -上

 



作者:楊先民  
精誠資訊/恆逸教育訓練中心資深講師


※網路引用請註明完整出處


SQL Server自 2014之後,開始全面的整合 Windows Azure,也就是雲端的概念,而這個概念也將是日後 SQL Server技術中不可缺少的一部分,所以本期就來介紹如何在SQL Server中使用 Azure Storage。


申請你的Azure帳號

在此之前,你可以先到http://azure.microsoft.com/ 申請一個 Azure的帳號,可以試用30天,不過你需要提供信用卡的資訊,但是不用太過於擔心,如果30天過了你並沒有打算使用它,它並不會自動幫你升級。


雲端的概念是你用多少就算多少錢,所以如果你只是為了做練習,相信一個月6300元的測試費用應該是足夠用了。申請完成之後,我們可以點選「我的帳戶」,這時後就可以管理入口網站了。


不過因為這篇文章只要會用於我上課時的介紹,所以等會的界面都將會是英文環境,不過我相信各位都是能夠中英對照的。

 

進入「管理入口網站」,可以看到管理界面,還蠻簡潔的。


是的,我也是用測試帳號,不過因為我是 MCT,所以之後將會轉換成一個月有免費的100美金帳號可以用的版本(老實說,100美金做不了什麼事,demo一下還是可以,但要實際上線,就別想了)

 

好,回歸正題,我們本期要做兩件事情,第一件事就是我想把 SQL Server上的資料庫備份到 Azure Storage,另一個主題就是我想把資料庫的資料建立在 Azure Storage上。

 

不過實務上你問我會不會這麼做,答案是保留的,因為資料庫若是太大,則備份可是用花 internet的網路頻寬,可能會等相當久的時間,這個我直到目前為止還是持保守的看法。

 

我們就一步步來做吧!

 

1.首先我們先要建一個 Storage(儲存體),以本例我建立一個為 adonisy92的儲存體名稱,這個名字以後可以方便你利用 SSMS登入到 Azure Storage中,並且設定一個 Containers(容器),這個你可以把它想像成是真正存放資料的地方,建立好之後如下圖:


預設這些儲存體都是被設置為「異地備援儲存體」,像我的儲存體在西歐,但是複寫的次要地區為北歐,感覺好像很厲害。

附帶一提,這個容器我們設定為「私有」,這樣以後必需要有 key才可以進入,也就是只允許你自己使用的容器。

 

在儲存體這個畫面的下方,點選「管理存取金鑰」,就可以看到如下圖的畫面:


記得把這個 Primary Access key給複製下來,只要按下 regenerate按鈕旁邊那個 icon即可複製下來,因為我們等會要使用它。

 

為了要讓 SQL Server能夠使用 Azure Storage上的東西,我們必需要建立一個 Credential,你可以用管理工具,或是指令來完成,如下:

 

USE [master]

GO

CREATE CREDENTIAL AzureStore

WITH IDENTITY = 'Storage帳號名稱',

SECRET = 'pkey';

GO

 

其中 IDENTITY後面接的 Storage帳號名稱,就是當初你所建立的 storage url名稱,以本例而言,我是 adonisy92,另外 SECRET後面接的則是 Primary Access key的值,直接複製進來即可。

 

設定完成之後就可以利用備份指令進行資料庫備份到 Windows Azure Storage了,如下:

USE [master]
GO
BACKUP DATABASE Products
TO URL = 'http://儲存體名稱.blob.core.windows.net/backups/Products.bak' WITH CREDENTIAL = 'AzureStore';

GO


由於剛才已經建立過 CREDENTIAL,所以可以順利的將資料庫備份到 Azure storage中。

 

可以利用 SSMS的連線,直接連到 Azure storage中看看,如下:


這個 Account key就是剛才複製的 Primary access key ,連進去之後就可以看到資料庫的 bak已經備份到 Azure storage了。



0 意見:

張貼留言