萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> sql server教程 >> SQL Server2005實現數據同步

SQL Server2005實現數據同步

sql server2005中對於增、刪、改和查詢是有某些沖突的,很容易造成死鎖。為了解決這個問題,我們可以使用同步來解決這個問題,將這台數據庫分開,我們建立兩個FileDetail表,一個用來給增、刪、改的程序使用,另一個給查詢的程序來調用,這樣就可以解決以上的難題。

在SQL Server2005中,同步數據需要:發布服務器、分發服務器和訂閱服務器,源數據所在的服務器是發布服務器,負責發表數據。發布服務器把要復制的數據或對象發生的改變復制到分發服務器,分發服務器用來接收數據的所有改變,它包含一個分發數據庫,並保存這些改變,再把這些改變分發給訂閱服務器。在復制過程中,發布服務器是一種數據庫實例,它通過復制向其他位置提供數據,分發服務器也是一種數據庫實例,它起著存儲區的作用。訂閱服務器是接收復制數據的數據庫實例。一個訂閱服務器可以從多個發布服務器上接收數據。

下面的例子因為我現在沒有那麼多資源,只用了本機做測試,我還測試了兩台之間的操作,大家有興趣的可以弄多台來試試。

現在我們來通過SQL Server2005來實現數據同步:

QQ截圖20130405171334.jpg

 

首先我們開啟SQL Server代理(默認是禁用的)

002.jpg

 

正在啟動——》啟動成功

 

現在我們來復制下數據庫。

點擊siccdb右鍵-任務-復制數據庫,出現以下界面

0036.jpg

 

下一步

004.jpg

 

這裡使用SQL Server身份驗證,一般建議大家都用這種方式,安全,不會出錯。填好之後,下一步。

006.jpg

 

這裡的目標服務器也使用SQL Server身份驗證。如果你想使用同一網段下別的計算機的數據庫,那麼這裡的目標服務器可以選擇你的遠程計算機,注意:遠程計算機連接不支持IP和別名,必須使用DoMain登錄名(即域計算機登錄名)。這裡說下我在測試兩台計算機同步碰到的問題,我發現登錄不了了?

原因

你的計算機改過計算機名

可以使用

SELECT * FROM Sys.SysServers來查詢下數據庫裡的源服務器名

007.jpg

 

我這裡是WILCOM-DEV_SQLS

我們ping下服務器的IP地址,遠程登錄不上的可以在C:WINDOWSsystem32driversetc下的hosts文件裡配置下

008.jpg

 

下一步:

010.jpg

 

這裡大家可以根據實際情況來選擇,默認是第一種,我這裡選擇第二種,因為我的源數據庫是不能斷開的(斷開了就要出大事了,呵呵,開個玩笑)好了,廢話不多說,選中後點下一步:

011.jpg

 

這裡默認會勾選你要發布的數據庫,狀態必須是已存在於目標上才可以發布。好了,我這裡沒有問題,下一步:

012.jpg

 

這裡是目標數據庫,我給改了下目標數據庫的名字為siccdb_bak

下面選擇如果目標數據庫已存在的情況,我選擇第一種,下一步。

013.jpg

這裡大家可以不要動,保持默認就好。直接下一步

014.jpg

 

我這裡就不選擇計劃了,大家可以自己試試看計劃的執行狀態。

如果你發現下面的integration Services代理賬號不讓選,是灰色的禁止狀態,那建議你看下你的SQL Server服務有沒有安裝這個,如果沒有,那悲催了,你就重新運行SQL Server的安裝向導重新安裝下這個服務吧。(下圖的這個服務)

015.jpg

 

緊接著,下一步

016.jpg

 

這裡就可以完成啦。

017.jpg

 

OK,復制完畢。

刷新下數據庫,我們會發現多了一個siccdb_bak

現在,我們來進行發布這個siccdb數據庫,讓siccdb_bak來保持和它同步。

018.jpg

選擇數據庫同級目錄下的復制-本地發布-新建發布,啟動發布向導。

019.jpg

關鍵詞:數據  同步 

  • 1
  • 2
  • 3
  • 下一頁
copyright © 萬盛學電腦網 all rights reserved