前面一章已經介紹了SQL Azure Data Sync的概念了。在這一章我們就介紹如何使用Data Sync功能。
一.准備工作
注:本章我介紹如果讓本地的SQL Server 2008 R2 DB和SQL Azure DB進行同步,所以請先在本機安裝好SQL Server 2008 R2。
1.使用SQL Server Management Studio在本地SQL Server 2008 R2 DB創建數據庫和表。
- 數據庫名稱為employeeinfo
- 創建表Student,T-SQL如下
create table dbo.Student
(
unikey nvarchar(100) not null primary key clustered,
value nvarchar(100) not null
)
Go
insert into Student(unikey,value) values
('FEFC201F-67E8-484F-A931-E620DCDA9D08',N'小趙')
,('6A987D4F-C9BF-4804-B5B5-E5223FC7DED7',N'小錢')
,('0E467495-D139-4550-BBC1-610CD8305CD0',N'小孫')
,('B7BE884D-5650-460D-BE60-C1585D3CE1DE',N'小李')
2.在SQL Azure上創建新的服務器,位於"East Asia"
- 創建數據庫名稱為HubDB,類型為"Web",最大大小為"1G"
- 這個數據庫作為Data Sync的Hub Database
3.在同一個SQL Azure的服務器上創建
- 數據庫名稱為AzureEmployeeDB,類型為"Web",最大大小為"1G"
- 這個數據庫作為On Cloud Database
二.開始Data Sync
1.登錄到Windows Azure平台。(過程略)
2.選擇"數據同步"--選擇"訂閱"--點擊"設置"
3.同意使用條款
4.選擇訂閱
5.選擇區域,我們選擇"East Asia"。(香港的數據中心,最靠近大陸,速度快)
6.選擇訂閱下的"同步組",然后選擇"創建"
7.同步組起名"MyFirstGroup"
8.然后點擊"內部部署"的"SQL Server數據庫"
9.會彈出"將數據庫添加到同步組",因為我們是第一次使用,所以選擇"將一個新的SQL Server數據庫添加到同步組",同步方向我們選擇"雙向"。然后選擇"下一步"
10.會出現新增數據庫的窗口,可以將本地的SQL Server與Hub DB進行通信。
11.為了保證通信的安全性,我們必須在本地的SQL Server主機上安裝Data Sync Agent,我們之前沒有安裝過,所以點擊"安裝"按鈕。
12.會彈出一個新的IE窗口,然后轉向到MSDN的下載頁面,我們選擇比較大的文件,然后點擊DOWNLOAD。
13.下載完畢后,安裝Microsoft SQL Azure Data Sync Agent Preview
在User Name輸入登錄Windows的用戶名(域\用戶名),注:該用戶必須可以訪問網絡
在Password輸入登錄Windows的密碼
14.完成Agent的安裝后,我們給本地的Agent起名,命名為"LocalToCloudAgent"
15.在步驟3中,按下"生成代理密鑰",此時會產生一組隨即的密鑰,這個密鑰我們之后需要使用。我們選擇"復制",將密鑰內容復制到剪切板上。
16.接着我們會進入"將數據庫添加到同步組"。
17.先按照上圖的步驟一,啟動本機已經安裝好的"Microsoft SQL Azure Data Sync Agent Preview",然后點擊"Submit Agent Key"
19.在彈出的窗口中,復制之前我們在生成Agent Key中復制的內容。然后選擇"OK"
20.然后在"Microsoft SQL Azure Data Sync Agent Preview"中點擊"Register"
我們選擇"Windows訪問SQL Server"
21.之后我們就可以看到本機的SQL Server已經添加完畢
22.先點擊"獲取數據庫列表",然后選擇到本地的SQL Server數據庫
23.這樣我們把本機的SQL Server部署到"內部部署"的工作完成
24.然后我們添加Hub Database(同步中心)
25.添加我們之前在SQL Azure中已經創建的Hub DB
26.選擇右側的"編輯數據集"
27.我們可以瀏覽到本地SQL Server的Database,並且選擇我要同步的數據庫表名和字段
28.我們在配置里可以選擇,每隔多長時間執行一次數據同步,這里我選擇"5分鍾"
29.然后我們就可以將本地SQL Server的數據庫內容同步到Hub Database中去了
29.相同的道理,我們也可以通過Hub Database將本地的SQL Server同步到Cloud Database上