SQL Server 2000異地數據庫數據同步_1

最近公司的數據同步因爲訂閲服務器日誌滿了,導致了發佈代理停止,為了確保中央數據庫運行正常,我還是重新作了一次同步。為了方便以後自己操作,還是將步驟寫下來,因爲同步這樣的操作一年可能就操作那麽一次。下面這些大都是06年寫的技術文檔。
在SQL Server 2000裡,能進行異地數據同步的方法比較多,譬如利用觸發器等,但采用的最為經常的卻是另外兩種方法:SQL事件探測和數據發布/訂閱。原因之一就是利用觸發器等其他方法的時候需要另外寫比較多的程序,而且可能需要更改現有數據庫的一些結構(譬如添加觸發器),而使用事件探測和數據發布/訂閱這兩種方法基本可以說無需添加什麼代碼就可以實現目的,因為這兩樣功能都是SQL Server 2000本身所提供的。
一、         使用 SQL 事件探測實現異地數據同步
在數據庫服務器中,所有對數據庫操作的命令都是通過發送SQL語句到數據庫服務器,然後由數據庫服務器解釋並執行以達到所需的效果,而這一流程正是給了我們一個檢測實際執行的SQL語句的機會。SQL Server 2000通過SQL事件探查器跟蹤和獲取數據庫服務器執行的所有SQL語句(可設置篩選條件)。
打開SQL Server 2000的企業管理器,在控制台根目錄/SQL Server組裡添加入服務器進行管理,然後選中該服務器可打開此服務器的內容,選中了該服務器後點擊菜單欄中工具可以看到有“SQL事件探測器”這一選項,點擊即可打開事件探測器。
圖1
SQL事件探查器打開後界面如圖2所示,由於未設置任何跟蹤所以界面中是一片空白。
點擊工具欄中的一個圖表添加一個新跟蹤,此時需要設置一些跟蹤選項,可以設置的有檢測的事件、跟蹤後顯示的內容和跟蹤的篩選項(可以設置檢測的數據庫名、執行的SQL語句類型等等等等,但實際應用時發現該篩選項並不是十分有效),並可將跟蹤到的結果存放到文件或者數據庫中的表裡──正是因為這樣才有了這一數據同步方法,可以通過將跟蹤到的SQL語句存放到表中,然後通過任務實現將這些SQL語句在另外的數據庫重復執行一次以實現數據同步──甚至可以將跟蹤到的結果重新執行一次。
SQL Server 2000異地數據庫數據同步_1_第1张图片
圖2
圖3就是一個跟蹤的結果,設置跟蹤時只設置為一個數據庫,但實際跟蹤時卻連各種系統操作也紀錄了下來,所以這種方法實際上並不是很好用,幸好可以通過組合各種篩選條件進一步的精確紀錄。
SQL Server 2000異地數據庫數據同步_1_第2张图片
圖3
SQL Server 2000異地數據庫數據同步_1_第3张图片
圖4
4 是可設置的篩選項,從圖中可以看出可以篩選條件其實可以很復雜的。

你可能感兴趣的:(SQL Server 2000異地數據庫數據同步_1)