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