事務複製(TransactionalReplication)是由 SQL Server 快照代理、日誌讀取器代理和分發代理共同實現的一種複製操作,可在伺服器和伺服器之間實現下列任務: 發生增量更改時將其傳播到訂閱伺服器; 從發佈伺服器上發生更改,至更改到達訂閱伺服器,應用程式需要這兩者之間的滯後... ...
小明最近挺忙,剛剛在外地找了個新工作,正在忙著搬家。多年積攢的家當很多,根本不能瀟灑地「說走就走」,於是他聯繫了搬家公司。專業的就是不一樣,不費什麼事,就把所有東西打包、運輸、拆包到位了。抵達新城市的小明很快投入了新工作中。
上班第二天,上司就交代了一項任務:公司打算將本地部署的 SQL Server 資料庫遷移到 Azure,並讓小明出一份方案,必須將本地資料庫內的數據儘快遷移上雲,同時這一過程不能影響資料庫的運作,更不能造成業務中斷。
目前的具體情況是這樣的:
-
公司本地運行著 SQL Server 2014,並已安裝所有更新;
-
公司已經在 Azure 中開通了所需配置的 Azure SQL 資料庫;
-
小明手頭已經有兩個資料庫的訪問憑據之類的東西。
那麼,小明需要制定什麼樣的方案,執行什麼樣操作才能完成任務呢?不用麻煩,只要找對「搬家公司」,一樣可以快速簡單地把本地數據搬上雲端
事務複製(TransactionalReplication)是由 SQL Server 快照代理、日誌讀取器代理和分發代理共同實現的一種複製操作,可在伺服器和伺服器之間實現下列任務:
-
發生增量更改時將其傳播到訂閱伺服器;
-
從發佈伺服器上發生更改,至更改到達訂閱伺服器,應用程式需要這兩者之間的滯後時間較短;
-
應用程式需要訪問中間數據狀態。例如,如果某一行更改了五次,事務複製將允許應用程式響應每次更改(例如,激發觸發器),而不只是響應該行最終的數據更改;
-
發佈伺服器有大量的插入、更新和刪除活動;
-
發佈伺服器或訂閱伺服器非 SQLServer 資料庫的情況。
因此只需將 Azure SQL 資料庫作為事務複製的訂閱伺服器,將本地 SQL Server 作為發佈伺服器,即可通過事務複製功能,直接將本地數據以「事務」的方式複製到 Azure,並確保不停機不中斷,獲得無縫的遷移體驗。
事務複製功能的詳細介紹可參閱這裡。
使用SQL Server Management Studio
遷移實戰
「搬家公司」已經有了,小明很快開始在 SQL Server Management Studio 中執行數據遷移操作:
1、創建一個新的事務複製。右鍵點擊 Replication 下的 Local Publication,並選擇 New Publication Wizard,會調出新建複製嚮導。
2、選擇 Snapshot publication 或 Transactional publication,本文以 Transactional publication 為例。
3、完成嚮導中的後續步驟,創建一個複製。
4、創建一個新的訂閱。右鍵點擊剛創建的發佈,選擇 New Subscriptions,調出新建訂閱嚮導。
5、完成嚮導中所需步驟,在下圖 Subscribers 頁面,點擊 Add Subscriber -> Add SQL Server Subscriber。
6、輸入所需的信息,連接到 Azure SQL DB。
7、選擇一個 Subscription Database 來接受複製內容。
8、完成嚮導的餘下部分,創建訂閱。
9、創建訂閱後,可以看到改訂閱出現在之前創建的發佈下。
接著只要等待就行了。取決於數據量等因素,整個過程可能會需要一段時間。在複製進行的過程中,本地資料庫依然在正常運行,不會受到任何影響,同時本地進行的數據更新增減等操作,也會自動複製到 Azure。
為了驗證複製是否已經生效,可以嘗試在本地 SQL Server 發佈的表中插入數據,並繼續等待複製,如果插入的數據也出現在 Azure SQL 資料庫對應的表中,即意味著複製已經順利生效了。
你一定得知道的註意事項
事務複製是一種很強大的功能,但在使用時依然有些問題需要註意:
-
只支持 Snapshot 及單向事務(本地 SQL 到 Azure SQL)複製,不支持 Peer-to-peer 事務複製及MergeReplication。
-
目前僅支持 SQL Azure V12。
-
無法通過 SQL Database 門戶來配置事務複製。
-
複製只能使用 SQL Server 身份驗證方式登錄連接到 SQL DB。
-
只支持 Push Subscription。
-
被覆制的表必須要有主鍵。
此外,目前該功能要求發佈伺服器和訂閱伺服器至少是以下 SQL Server 版本之一:
-
SQL Server 2016 CTP3(預覽版)和更高版本
-
SQL Server 2014 SP1 CU3 和更高版本
-
SQL Server 2014 RTM CU10 和更高版本
-
SQL Server 2012 SP2 CU8 和更高版本
-
SQL Server 2012 SP3(發行時) 推薦閱讀
事務複製這個搬家公司怎麼樣?是不是讓你的工作更加的高效便捷了,小編這裡還有更多可以在你的操作中最常遇到的問題的解決辦法,趕緊拿走吧:
《使用 Azure 虛擬機快速搭建安全的 FTPS 伺服器》
對了,瞧小編這記性,差點就忘了一件大事被老闆扣工資了,下麵是大事。
大事:【Azure文檔】菜單上線咯!
小伙伴們可以通過雲科技公眾號主頁底部菜單【瞭解雲】中的【Azure文檔】菜單,一鍵獲取你想得到想不到的 Azure 技術文檔與示例等等無限量資源。
好了,就說這麼多,更多的驚喜等你來發現!