走近微軟云:SQL Server到Azure數(shù)據(jù)同步
MicrosoftSyncFramework(微軟同步框架)的目標(biāo)則是實(shí)現(xiàn)可通過任何協(xié)議實(shí)現(xiàn)任何類型數(shù)據(jù)同步的一個(gè)可擴(kuò)展架構(gòu)。自2009年10月SyncFramework2.0上市以來,微軟SyncFramework開發(fā)小組的重點(diǎn)工作就放在了如何擴(kuò)展同步框架功能上,其中就包括了如何在SQLServer上實(shí)現(xiàn)基于微軟云數(shù)據(jù)庫(kù)同步服務(wù),此服務(wù)和功能已經(jīng)演變?yōu)楝F(xiàn)今網(wǎng)絡(luò)上赫赫有名的微軟SQLAzure服務(wù)。
雖然現(xiàn)有的ADO.NET提供程序已能與SQLAzure進(jìn)行同步,但微軟還是重新創(chuàng)建了一個(gè)同步提供程序以提高執(zhí)行效率并保證與SQLAzure進(jìn)行數(shù)據(jù)同步的可靠性。MicrosoftSyncFrameworkPowerPackforSQLAzure包含了全新的提供程序、SqlAzureSyncProvider和其它自動(dòng)化工作。
SQLAzureDataSync數(shù)據(jù)同步工具為用戶提供了配置向?qū)?,以幫助用戶在SQLSever數(shù)據(jù)庫(kù)和SQLAzure數(shù)據(jù)庫(kù)之間同步數(shù)據(jù)并定義同步規(guī)則。有了此工具,管理員只需輕點(diǎn)鼠標(biāo)便可以將企業(yè)數(shù)據(jù)庫(kù)方便同步到云當(dāng)中。
VisualStudio2008ProfessionalSP1中也創(chuàng)建了一個(gè)名為SqlAzureDataSyncClient模板來緩存SQLAzure當(dāng)中的數(shù)據(jù),以方便地為要使用云數(shù)據(jù)的應(yīng)用程序提供脫機(jī)數(shù)據(jù)功能。
組件
MicrosoftSyncFrameworkPowerPackforSQLAzure主要由如下幾個(gè)部分組成:
1.SqlAzureSyncProvider
微軟已經(jīng)發(fā)布了全新的同步框架引擎以擴(kuò)展SQLAzure同步提供程序,此提供程序被稱為SqlAzureSyncProvider。這是一個(gè)全新的免費(fèi)應(yīng)用程序,它可以使同步框架引擎高效并可靠地完成復(fù)雜的SQLAzure云數(shù)據(jù)處理和同步過程。
2.VisualStudio插件
此插件為VisualStudio2008ProfessionalSP1提供了一個(gè)全新的SqlAzureDataSyncClient項(xiàng)目模板,使用這個(gè)項(xiàng)目可以實(shí)現(xiàn)SQLAzure到客戶端同步填充適當(dāng)程序集引用,其中還會(huì)生成一個(gè)被命名為Synchronize的類名,以使開發(fā)人員可以調(diào)用應(yīng)用程序自動(dòng)同步到云數(shù)據(jù)的方法。
3.SQLAzureDataSync數(shù)據(jù)同步工具forSQLServer
使用該工具向?qū)Э梢詫?shí)現(xiàn)SQLServer和SQLAzure之間的數(shù)據(jù)自動(dòng)同步。當(dāng)配置完成時(shí),此工具可以在SQLServerAgent保存同步配置,這樣就可以方便我們?cè)谌魏螘r(shí)間執(zhí)行同步了。
準(zhǔn)備工作
1.確保已經(jīng)安裝了SyncFramework2.0SDK
SyncFramework2.0SDK下載地址為http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=89adbb1e-53ff-41b5-ba17-8e43a2e66254
2.確保在sql.Azure.com已有賬戶
使用WindowsLiveID登錄http://www.microsoft.com/windowsazure/getstarted/#sql
3.確保VisualStudio2008ProfessionalSP1已經(jīng)安裝但未運(yùn)行
4.確保SQLServer2008已經(jīng)安裝并且沒有運(yùn)行
為獲得***效果,***使用SQLServer2008R2版本,其SQLServerManagementStudio已經(jīng)原生支持了到SQLAzure的同步功能。
5.確保SQLServer代理服務(wù)正在運(yùn)行
在服務(wù)中將SQLServerAgen服務(wù)配置為"自動(dòng)"啟動(dòng)。
安裝
下載MicrosoftSyncFrameworkPowerPackforSQLAzure,然后雙擊此MSI安裝包并用默認(rèn)選項(xiàng)進(jìn)行安裝。此時(shí)程序會(huì)自動(dòng)為VisualStudio2008ProfessionalSP1設(shè)置SQLAzure同步插件,并安裝用于SQLServer的SQLAzure數(shù)據(jù)同步工具。
SyncFramework您可以在微軟下載中心找到http://www.microsoft.com/downloads/details.aspx?FamilyID=bce4ad61-5b76-4101-8311-e928e7250b9a&displaylang=en
該工具需要安裝到默認(rèn)路徑,如何更改了安裝路徑,則任何SQLServer作業(yè)都需要手動(dòng)在工具中進(jìn)行更新。
#p#
使用
用于SQLServer的SQLAzure數(shù)據(jù)同步工具
本部分我們主要演示用于SQLServer的SQLAzure數(shù)據(jù)同步工具的主要用法,此工具會(huì)自動(dòng)利用SqlAzureSyncProvider以實(shí)現(xiàn)SQLAzure和企業(yè)內(nèi)部SQLServer之間的數(shù)據(jù)同步。
1.在"開始"菜單"所有程序"-MicrosoftSyncFramework中找到并打開"SQLAzureDataSyncToolforSQLServer"。此時(shí)啟動(dòng)的向?qū)?huì)對(duì)本地SQLServer實(shí)例進(jìn)行配置并自動(dòng)提供一個(gè)用于同步的Azure數(shù)據(jù)庫(kù)。點(diǎn)擊"下一步"繼續(xù)。
2.此時(shí)請(qǐng)確保服務(wù)器名稱、數(shù)據(jù)庫(kù)名稱及與sql.Azure.com所關(guān)聯(lián)的LiveID賬戶和密碼都輸入正確。點(diǎn)擊"下一步"繼續(xù)。(圖1)
3.輸入將要與SQLAzure進(jìn)行同步的SQLServer實(shí)例和數(shù)據(jù)庫(kù)名稱。(圖2)
4.在選擇框選擇要與sql.Azure.com帳戶相關(guān)聯(lián)的數(shù)據(jù)庫(kù)表,并將它們添加到同步范圍。點(diǎn)擊"下一步"繼續(xù)。(圖3)
5.在選擇框中通過"MoveUp"和"MoveDown"來調(diào)整表的同步順序并點(diǎn)擊"下一步"繼續(xù)。(圖4)
#p#
6.同步范圍確定以后,還必須指定在本地?cái)?shù)據(jù)庫(kù)中指定一個(gè)唯一名稱,再指定所選的SQLAzure數(shù)據(jù)庫(kù)為1GB或10GB類型。點(diǎn)擊"Process"來完成配置過程。(圖5)
7.打開SQLServerManagementStudio查看SQLServerAgent同步任務(wù)名是否已經(jīng)正確創(chuàng)建。如果已經(jīng)正常創(chuàng)建,則該同步任務(wù)可以在任何時(shí)間執(zhí)行本地?cái)?shù)據(jù)庫(kù)到所選云數(shù)據(jù)庫(kù)的副本同步。
用于VisualStudio的SQLAzure離線插件
本部分我們主要演示如何使用VisualStudio中新的SqlAzureDataSyncClient項(xiàng)目模板來輕松實(shí)現(xiàn)到SQLAzure的數(shù)據(jù)同步。當(dāng)添加一個(gè)新項(xiàng)目時(shí),SqlAzureDataSyncClient會(huì)自動(dòng)創(chuàng)建一個(gè)本地?cái)?shù)據(jù)存儲(chǔ)類以簡(jiǎn)化整個(gè)同步過程。
1.在VisualStudio2008ProfessionalSP1中創(chuàng)建一個(gè)控制臺(tái)應(yīng)用程序項(xiàng)目
2.該項(xiàng)目被加載后,右擊"解決方案資源管理器"窗格,然后懸停在"添加"上,并單擊"新建項(xiàng)目"。(圖6)
3.向下滾動(dòng)并選擇"SqlAzureDataSyncClient"下的"MyTemplates."--輸入一個(gè)同步客戶端名稱--點(diǎn)擊"OK"繼續(xù)。(圖7)
4.此時(shí)會(huì)出現(xiàn)一個(gè)"SQLAzureDataSync"數(shù)據(jù)同步向?qū)В⒁呀?jīng)選中"SQLAzureConnection"。此時(shí)輸入服務(wù)器名稱、數(shù)據(jù)庫(kù)名稱及與sql.Azure.com所關(guān)聯(lián)的LiveID賬戶和密碼都輸入正確。點(diǎn)擊"下一步"繼續(xù)。(圖8)
#p#
5.在"SelectTablestoSync"中選擇并添加要同步的范圍,點(diǎn)擊"下一步"繼續(xù)。(圖9)
6.此時(shí)同步范圍已經(jīng)確定,我們還需要輸入一個(gè)同步范圍名稱,并點(diǎn)擊"下一步"繼續(xù)。(圖10)
7.在此步驟中,需要指定本地?cái)?shù)據(jù)存儲(chǔ)文件的路徑,并點(diǎn)擊"下一步",***點(diǎn)擊"完成"來結(jié)束配置。
8.引用會(huì)被自動(dòng)添加到SyncFramework、數(shù)據(jù)庫(kù)、XML和SQLAzureDataSync數(shù)據(jù)同步組件。
9.開發(fā)人員可以在程序中的任何地方來調(diào)用同步方法,例如使用C#:
staticvoidMain(string[]args)
{
SqlAzureSyncClient_YOURSYNCSCOPENAME_Offline.Synchronize();
}
10.按F5生成該項(xiàng)目并在調(diào)試模式下啟動(dòng)該程序。
【編輯推薦】
- 微軟公布云計(jì)算平臺(tái)Azure收費(fèi)模式細(xì)節(jié)
- 云計(jì)算意在長(zhǎng)遠(yuǎn),微軟云計(jì)算服務(wù)Windows Azure已經(jīng)啟用
- 技術(shù)透析:Windows Azure Platform框架與組成
- 微軟Windows Azure Platform技術(shù)解析