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