1. 程式人生 > >【SQL Server高可用性】資料庫複製:SQL Server 2008R2中通過資料庫複製,把A表的資料複製到B表

【SQL Server高可用性】資料庫複製:SQL Server 2008R2中通過資料庫複製,把A表的資料複製到B表

經常在論壇中看到有人問資料同步的技術,如果只是同步少量的表,那麼可以考慮使用連結伺服器+觸發器,來實現資料同步,但當要同步的資料表比較多,那麼可以考慮用資料庫複製技術,來實現資料的同步。

一、使用場景

資料釋出和訂閱,就是sql server的資料庫複製技術,用於同步資料。我覺得使用情況主要有2種:

1、適合於資料分散在不同的地區的情況。
比如,總公司,還有分公司,可能在北京,上海,廣州,等地區,那麼每個地區都有地區資料庫,都會有銷售資料,那麼通過對每個分公司的資料庫進行釋出,然後總公司進行訂閱,那麼資料就從分公司複製到總公司,也就是釋出端複製到了訂閱端。

2、如果資料庫很大,壓力很大,讀寫很頻繁,那麼為了分擔單個數據庫伺服器的壓力,可以通過資料庫複製技術,來實現讀寫分離。
可以從一個數據庫,把資料複製到多臺伺服器上,主資料庫用於寫,而其他幾臺伺服器用於讀取資料,減輕主資料庫的壓力。

3、總結一下:
一個是用於分散式資料的情況。
一個是資料庫的高可用性,不僅能通過讀寫分離,提高效能,減輕壓力,同時還能起到資料庫備份的作用。


因為太大的資料庫,要再備份,估計需要花很長的時間,所以通過資料庫複製,也保證了資料的安全。

二、釋出型別

不同的釋出型別,會有不同的效果,適用於不同的場景,特別是下面的2種釋出型別,需要特別注意

快照發布:
釋出伺服器按預定的時間間隔向訂閱伺服器傳送已釋出資料的快照。也就是間隔時間一到,2000把資料的快照,也就是所有資料,都發生到訂閱端,一般適合同步間隔時間比較長的,比如1周才同步一次。

事務釋出:
在訂閱伺服器收到已釋出資料的初始快照後,釋出伺服器將事務流式傳輸到訂閱伺服器。
也就是,設定好後,第一次會進行初始化,然後以後每次同步的時候,只是把修改的資料,比如insert、update、delete,同步到訂閱端,一般適合對同步時間要求比較嚴格的情況,間隔時間可能就10秒,或者幾分鐘。

總結一下:

快照複製,每次都是複製所有的資料,所以如果資料量大,那麼往往復制的時間會很長。
而事務複製,每次只複製變化的部分,所以速度較快。

三、實驗環境

一臺是筆記本,機器名:ggg-pc,例項名:MSSQLSERVER

另一臺是安裝的虛擬機器,機器名:DTSCIOW1G2GJOED,例項名:MSSQLSERVER

那麼,如果不是虛擬機器,能否配置成功呢?

我也嘗試過在兩臺筆記本之間,也做了事務複製,配置與上面的類似,也同步成功了。

需要注意的是在配置完成訂閱端成功後,發現在複製目錄下面本地訂閱目錄下,沒有出現訂閱,這個多重新整理幾次就好了。

還有就是資料庫引擎服務和代理服務,都是通過Local System帳號來啟動的,不一定需要Administrator帳號。


需要特別說明的是這個資料庫複製,並不是實時的,最短複製間隔為10秒,所以不能完全滿足高安全性的要求,也就是當出現故障時,會有少量資料沒有複製到訂閱端。


四、首先,分別在兩個例項中分別執行下面的程式碼,來建立資料庫:

--在筆記本上
create database wc
go

use wc
go

create table A
(
id int primary key,
v varchar(100)
)
--在虛擬機器上
create database wc
go

use wc
go

create table B
(
id int primary key,
v varchar(100),
vv varchar(100)   --注意:這裡比A表多了一列
)
go


五、然後,接下來就是要配置同步與訂閱,來實現把A表的2列,同步到B表的2列中:

首先是設定釋出:

1、展開“複製”目錄,選擇“本地釋出”,右鍵,選擇“新建釋出”


2、彈出新建釋出嚮導,單擊下一步


3、選擇:把ggg-pc作為自己的分發伺服器,單擊下一步


4、選擇:是,將SQL Server的代理伺服器配置為自動啟動


5、選擇:快照資料夾,預設是

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData


6、選擇:要釋出的資料庫,這裡選wc


7、選擇:釋出型別,這裡選擇“事務釋出”


8、選擇要釋出的表A,以及要釋出的列:id和v


然後,點一下A表,點選右邊的“專案屬性”按鈕,在彈出的選單中選擇“設定突出顯示的 表的專案屬性”,彈出“專案屬性”對話方塊:


然後,往下拉,找“目標物件”,由於需要同步到的不是A表,而是已存在的B表,所以把“目標物件名稱”改為“B”,同時把“名稱已被使用時的操作”改為“現有物件保持不變”:


9、在篩選錶行中,你可以設定只同步滿足條件的記錄,而不是所有的記錄:


10、設定快照代理,在兩個複選框上都打上勾,也就是立即啟動快照、計劃快照代理:


然後,單擊右邊的”更改“按鈕,設定同步的時間間隔為 10秒:


11、代理安全性:


然後,單擊 安全設定 ,彈出 快照代理安全性 對話方塊,選擇 在SQL Server代理賬戶下執行,在“連線到訂閱伺服器”中,選擇“使用以下SQL Server登入名”,輸入:sa和密碼。

12、如果你希望生成指令碼,也可以勾選”生成包含建立釋出的指令碼檔案“


13、輸入釋出名稱:wc_publisher,然後下一步,點選完成,就釋出成功了。


接下來,是設定訂閱,這個是在虛擬機器上設定的:

1、展開“複製”,右鍵“本地訂閱”,選擇“新建訂閱”:


2、彈出新建訂閱對話方塊,單擊下一步:


3、在釋出伺服器下拉框中,選擇“查詢SQL Server釋出伺服器”:


然後,選擇ggg-pc伺服器,然後輸入連線到ggg-pc的使用者名稱和密碼:



4、分發代理位置, 選擇“在分發伺服器ggg-pc上執行所有代理”:


5、選擇:訂閱伺服器和訂閱資料庫:


6、設定分發代理安全性

點選按鈕,在彈出的對話方塊中設定:“在SQL Server代理賬戶下執行”,在連線到訂閱伺服器上,選擇“通過以下SQL Server登入名”,並輸入連線到訂閱伺服器的:使用者名稱和密碼


7、同步計劃,點選下一步


8、初始化訂閱,單擊下一步,最後點選完成


9、建立訂閱成功


六、最後,驗證一下資料是否同步

我們在ggg-pc的wc資料庫的A表中插入資料:

--插入資料
insert into a
values(1,'aaa')

然後,到虛擬機器的wc資料庫中,查詢B表的資料:


如果不需要再進行資料庫的複製,那麼只需要直接在釋出端進行刪除就可以,主要就是刪除複製目錄-》本地釋出-》釋出的專案刪除,然後,右鍵“複製”,選擇“禁用本地釋出”,就可以刪除分發資料庫distribution,會自動刪除訂閱端,不需要在訂閱端進行刪除。

相關推薦

SQL Server可用資料庫複製SQL Server 2008R2通過資料庫複製A資料複製B

經常在論壇中看到有人問資料同步的技術,如果只是同步少量的表,那麼可以考慮使用連結伺服器+觸發器,來實現資料同步,但當要同步的資料表比較多,那麼可以考慮用資料庫複製技術,來實現資料的同步。 一、使用場

sql server 可用技術總結

結構 故障轉移 ppi 靈活 使用 表數 定時 不支持 http 原文:sql server 高可用性技術總結一. 復制Replication(快照、事務、合並)    應用場景:     負載均衡、提供副本讀,寫操作。     分區將歷史數據復制到其它

SQL Server可用(1)----可用概覽

    自從SQL Server 2005以來,微軟已經提供了多種高可用性技術來減少宕機時間和增加對業務資料的保護,而隨著SQL Server 2008,SQL Server 2008 R2,SQL Server 2012的不斷髮布,SQL Server中已經存在了滿足不同場景的多種高可用性技術。    

SQL Server可用(2)----檔案與檔案組

    在談到SQL Server的高可用性之前,我們首先要談一談單例項的高可用性。在單例項的高可用性中,不可忽略的就是檔案和檔案組的高可用性。SQL Server允許在某些檔案損壞或離線的情況下,允許資料庫依然保持部分線上,從而保證了高可用性。 檔案和檔案組     有關檔案和檔案組的基本概念,有很

SQL Server 的“可用”與“災難恢復” 之二 故障轉移群集

SQL Server使用最廣的高可用性技術叫做故障轉移群集(SQLServer Failover Cluster)。這是一項基於Windows故障轉移群集的一種技術。SQLServer故障轉移群集技術集成了微軟技術一貫簡單易用的特點,在部署和管理上都非常容易,同時又能提供

選擇SQL Server 2008可用解決方案

下面列舉了選擇高可用性解決方案的注意事項: 故障轉移群集和資料庫映象都提供以下功能: ·自動檢測和故障轉移 ·手動故障轉移 ·透明客戶端重定向 故障轉移群集具有下列限制: ·需要在伺服器例項範圍內進行操作 ·需要簽名的硬體 ·備用部分不具有報告功能 ·利用資料庫的單個副本 ·

sql server 可用日誌傳送

span 術語 sre 數據庫配置 logs 優點 style col 登錄 原文:sql server 高可用日誌傳送一. 日誌傳送概述 SQL Server使用日誌傳送,可以自動將主服務器的事務日誌備份發送到一個或多個輔助數據庫上。可選的監視服務器,記錄備份和

sql server 可用故障轉移(4)

設置 inf 初始 08 r2 執行 進行 利用 iscs info 二臺sql服務器配置ISCSI虛擬磁盤 在上篇我們利用ISCSI Target軟件在DC-ISCSCI上創建了三個ISCSI虛擬磁盤,在下面我們將為大家介紹SQL-CL01(hsr1 50)和

微服務Spring Cloud實戰—Eureka Server的簡介和可用—叢集

Eureka簡介 什麼是Eureka? Eureka是Netflix開源的服務發現元件,本身是一個基於REST的服務。它包含Server和Client兩部分。Spring Cloud將它整合在子專案Spring Cloud Netflix中,從而實現服務的註冊與發現 (注:Eurek

淺談資料庫可用(HA)技術

 資料庫高可用是一個複雜的系統工程,本文主要介紹了幾種資料庫高可用的基本技術: HADR、 HACMP、 資料複製,儲存層容災和DPF高可用。並結合實踐實際,分別論述了它們的適用場景和技術特徵。在不同場景,不同的業務連續性級別下,我們可以組合使用這幾種技術,以實現從儲存,網路,系統,資料庫

SQL Server AlwaysOn可用副本會話期間的可能故障

介紹      物理故障、作業系統故障或 SQL Server 故障都可能導致兩個可用性副本之間的會話失敗。 可用性副本不會定期檢查 Sqlservr.exe 所依賴的元件來驗證這些元件是在正常執行還是已出現故障。 但對於某些型別的故障,受影響的元件將向 Sqlservr.exe 報告錯誤。 由另一個元

iOS 檢視和更改您的應用程式的狀態和可用

檢視和更改您的應用程式的狀態和可用性 當您的應用程式在商店中可用時,其狀態為“準備出售”,如綠色狀態指示器所示  。任何其他狀態意味著您的應用程式不在商店中。您可能故意將該應用從銷售中刪除,例如,如果您正在等待發布應用以對應營銷活動。本章介紹如何控制應用程式何時可用,以

深入解析 SQL Server 可用映象實現原理

SQL Server 是 windows 平臺 .NET 架構下標配資料庫解決方案,與 Oracle、MySQL 共同構成了 DB-Engines Ranking 的第一陣營,在國內外企業市場中有著廣泛的應用。Mirroring 是 SQL Server 最常用的高可用解決方

5、pgpool-II可用(一)資料庫可用

[官網示例](https://www.pgpool.net/docs/latest/en/html/example-cluster.html) # 一、實現原理 使用 pgpool-II 軟體;我們常用來實現流複製的高可用性;備庫只讀的,不可寫;就是當主庫出現問題時;需要把備庫自動啟用為主庫;來接管服務。

AP 可用設置

cisco ap 高可用性設置AP HA Settings1-AP HA 設置2-global configuration下配置3-確保RF group名字一致4-確保APgroup也一致本文出自 “Erick WAY” 博客,謝絕轉載!AP 高可用性設置

alwayson09-創建always on可用

src 備份 images 可用 img 創建 cnblogs alwayson http 新建數據庫或者使用現有的數據庫,完整備份 測試一下: alwayson09-創建always on高可用性組

理解HDFS可用架構

共享存儲 src mage namenode 存儲系統 tro ima 會同 同時 在Hadoop1.x版本的時候,Namenode存在著單點失效的問題。如果namenode失效了,那麽所有的基於HDFS的客戶端——包括MapReduce作業均無法讀,寫或列文件,因為nam

corosync+pacemaker+drbd 實現mysql的可用

corosync+pacemaker+drbd 實現mysql的高可用性一、環境準備1.操作系統centos 6.4 (32位)系統要是雙網卡2.配置各節點互相解析 node1:[[email protected] ~]# uname -n node1.test.com [[email 

Linux的企業-可用High Availability

linux的企業 高可用性high availability一.概念介紹 HA(High Availability)指的是通過盡量縮短因日常維護操作(計劃)和突發的系統崩潰(非計劃)所導致的停機時間,以提高系統和應用的可用性。它與被認為是不間斷操作的容錯技術有所不同。HA系統是目前企業防止核心計

LVS 之 可用

ldirectord 自動化腳本1 概述 在lvs的集群設計中,存在兩個地方不可用的問題,Director不可用 和RS不可用A)Director不可用Director不可用整個系統將不可用;SPoF Single Point of Failure,單點故障導致解決方案:通過keepalived he