使用復制可以將數據分發到不同位置,通過局域網、使用撥號連接、通過 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 FilesMicrosoft SQL ServerMSSQLREPLDATAuncXIAOWANGZI_database_database下面,觀察是否有一些以時間做為文件名的文件夾(幾乎一分中產生一個)。
正式開始:
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下面,觀察是否有一些以時間做為文件名的文件夾(幾乎一分中產生一個)。