[zt] SQL Server 2000複製

tolywang發表於2009-01-14

  Microsoft SQL Server 2000複製的概念:在資料庫之間對資料和資料庫物件進行復制和分發並進行同步以確保其一致性的一組技術。

  使用複製可以將資料分發到不同位置,透過區域網、使用撥號連線、透過 Internet 分發給遠端或移動使用者。複製還能夠使使用者提高應用程式效能,根據資料的使用方式物理分隔資料(例如,將聯機事務處理 (OLTP) 和決策支援系統分開),或者跨越多個伺服器分佈資料庫處理。

  SQL複製的基本元素包括:

  釋出伺服器、訂閱伺服器、分發伺服器、釋出、專案。

  釋出伺服器

  釋出伺服器是提供資料以便複製到其它伺服器的伺服器。釋出伺服器可以具有一個或多個釋出,每個釋出代表一組邏輯相關的資料。除了指定其中哪些資料需要複製之外,釋出伺服器還檢測事務複製期間發生更改的資料並維護有關此站點上所有釋出的資訊。

  分發伺服器

  分發伺服器是作為分發資料庫宿主並儲存歷史資料和/或事務以及後設資料的伺服器。分發伺服器的角色根據執行的複製型別而不同。有關更多資訊,請參見複製型別。

  遠端分發伺服器是獨立於釋出伺服器並配置為複製的分發伺服器的伺服器。本地分發伺服器是既配置為複製的釋出伺服器又配置為複製的分發伺服器的伺服器。

  訂閱伺服器

  訂閱伺服器是接收復制資料的伺服器。訂閱伺服器訂閱的是釋出而不是釋出中分離的專案;並且訂閱伺服器只訂閱其需要的釋出,而不是釋出伺服器上所有可用的釋出。根據複製的型別和所選擇的複製選項,訂閱伺服器還可以將資料更改傳播回釋出伺服器或將資料重新發布到其它訂閱伺服器。

  釋出

  釋出是一個資料庫中的一個或多個專案的集合。這種多個專案的分組使得指定邏輯相關的一組資料和資料庫物件以一起復制變得更容易。

  專案

  專案是指定要複製的資料表、資料分割槽或資料庫物件。專案可以是完整的表、某幾列(使用垂直篩選)、某幾行(使用水平篩選)、儲存過程或檢視定義、儲存過程的執行、檢視、索引檢視或使用者定義函式。

  訂閱

  訂閱是對資料或資料庫物件的複本的請求。訂閱定義將接收的釋出和接收的時間、地點。訂閱的同步或資料分發可以由釋出伺服器(強制訂閱)或訂閱伺服器(請求訂閱)請求。釋出可以支援強制訂閱和請求訂閱的混合。

  SQL複製的工作原理

  SQL SERVER 主要採用出版物、訂閱的方式來處理複製。源資料所在的伺服器是出版伺服器,負責發表資料。出版伺服器把要發表的資料的所有改變情況的複製複製到分發伺服器分發伺服器包含有一個分發資料庫,可接收資料的所有改變,並儲存這些改變,再把這些改變分發給訂閱伺服器。

  SQL SERVER複製技術型別,三種複製技術,分別是

  1、快照複製

  2、事務複製

  3、合併複製

  下介紹實現複製的步驟。(以快照複製為例)

  準備工作:

  1.釋出伺服器,訂閱伺服器都建立一個同名的windows使用者,並設定相同的密碼,做為釋出快照資料夾的有效訪問使用者。

  --我的電腦

  --控制皮膚

  --管理工具

  --計算機管理

  --使用者和組

  --右鍵使用者

  --新建使用者

  --建立一個隸屬於administrator組的登陸windows的使用者

  2.在釋出伺服器上,新建一個共享目錄,做為釋出的快照檔案的存放目錄,操作:

  我的電腦--D:\ 新建一個目錄,名為: PUB

  --右鍵這個新建的目錄

  --屬性--共享

  --選擇"共享該資料夾"

  --透過"許可權"按紐來設定具體的使用者許可權,保證第一步中建立的使用者具有對該資料夾的所有許可權

  --確定

  3.設定SQL代理(SQLSERVERAGENT)服務的啟動使用者(釋出/訂閱伺服器均做此設定)

  開始--程式--管理工具--服務

  --右鍵SQLSERVERAGENT

  --屬性--登陸--選擇"此賬戶"

  --輸入或者選擇第一步中建立的windows登入使用者名稱

  --"密碼"中輸入該使用者的密碼

  4.設定SQL Server身份驗證模式,解決連線時的許可權問題(釋出/訂閱伺服器均做此設定)

  企業管理器

  --右鍵SQL例項--屬性

  --安全性--身份驗證

  --選擇"SQL Server 和 Windows"

  --確定

  5.在釋出伺服器和訂閱伺服器上互相註冊

  企業管理器

  --右鍵SQL Server組

  --新建SQL Server註冊...

  --下一步--可用的伺服器中,輸入你要註冊的遠端伺服器名--新增

  --下一步--連線使用,選擇第二個"SQL Server身份驗證"

  --下一步--輸入使用者名稱和密碼

  --下一步--選擇SQL Server組,也可以建立一個新組

  --下一步--完成

  6.對於只能用IP,不能用計算機名的,為其註冊伺服器別名

  (在連線端配置,比如,在訂閱伺服器上配置的話,伺服器名稱中輸入的是釋出伺服器的IP)

  開始--程式--Microsoft SQL Server--客戶端網路實用工具

  --別名--新增

  --網路庫選擇"tcp/ip"--伺服器別名輸入SQL伺服器名

  --連線引數--伺服器名稱中輸入SQL伺服器ip地址

  --如果你修改了SQL的埠,取消選擇"動態決定埠",並輸入對應的埠號

  正式開始:

  1.配置釋出伺服器

  a. 選中指定 [伺服器] 節點

  b. 從 [工具] 下拉選單的 [複製] 子選單中選擇 [釋出、訂閱伺服器和分發] 命令

  c. 系統彈出一個對話方塊點 [下一步] 然後看著提示操作

  --直到"指定快照資料夾"

  --在"快照資料夾"中輸入準備工作中建立的目錄: \\\pub

  一[下一步] 直操作到完成。

  d. 當完成了出版伺服器的設定以後系統會為該伺服器的樹形結構中新增一個複製監視器同時也生成一個分發資料庫(distribution)

  2.建立釋出

  a. 選中指定的伺服器

  b. 從 [工具] 選單的 [複製] 子選單中選擇 [建立和管理釋出] 命令。此時系統會彈出一個對話方塊

  c. 選擇要建立釋出的資料庫,然後單擊 [建立釋出]

  d. 在 [建立釋出嚮導] 的提示對話方塊中單擊 [下一步] 系統就會彈出一個對話方塊。對話

  框上的內容是複製的三個型別。我們現在選第一個也就是預設的快照發布(其他兩個

  大家可以去看看幫助)

  e. 單擊 [下一步] 系統要求指定可以訂閱該釋出的資料庫伺服器型別,SQLSERVER允許在

  不同的資料庫如 ORACLE或ACCESS之間進行資料複製。但是在這裡我們選擇執行

  "SQL SERVER 2000"的資料庫伺服器

  f. 單擊 [下一步] ,選擇要釋出的物件(如表,檢視,儲存過程,一般是表)

  g. 然後 [下一步] 直到操作完成。當完成出版物的建立後建立出版物的資料庫也就變成了一個共享資料庫。

  ---------------------------------------------------------------------------

  3.設計訂閱

  a. 選中指定的訂閱伺服器

  b. 從 [工具] 下拉選單中選擇 [複製] 子選單的 [請求訂閱]

  c. 按照提示單擊 [下一步] 操作直到系統會提示檢查SQL SERVER代理服務的執行狀態,執行

  複製操作的前提條件是SQL SERVER代理服務必須已經啟動。

  d. 單擊 [完成] 完成訂閱操作。

  ----------------------------------------------------------------------------

  完成上面的步驟其實複製也就是成功了。但是如何來知道複製是否成功了呢?

  這裡可以透過這種方法來快速看是否成功。

  展開出版伺服器下面的複製——釋出內容——右鍵釋出內容——屬性——擊活——狀態然後點立即執行代理程式接著點代理程式屬性擊活排程

  把排程設定為每一天發生,每一分鐘,在0:00:00和23:59:59之間。

  接下來就是判斷複製是否成功了,開啟C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面,觀察是否有一些以時間做為檔名的資料夾(幾乎一分中產生一個)。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-539609/,如需轉載,請註明出處,否則將追究法律責任。

相關文章