場景:
主伺服器:server1
從伺服器:server2
訂閱伺服器: server3
映象db: repdb
配置:1>配置server3為分發伺服器,在server3上指定發布伺服器server1和server2
2>在server1和server2上配置訂閱伺服器為server3,並制定相同的快照資料夾
3>如果需要建立多種型別的複製,需要在server1上執行
exec sp_replicationdboption @dbname='', @optname='publish', @value=true
exec sp_replicationdboption @dbname='', @optname='mergepublish', @value=true
4>為下列**設定–publishe***iloverpartner
快照**(對於所有發布)
日誌讀取器**(對於所有事務發布)
佇列讀取器**(對於支援排隊更新訂閱的事務發布)
合併**(對於合併訂閱)
sql server 複製偵聽器(replisapi.dll:用於使用 web 同步進行同步的合併訂閱)
sql 合併 activex 控制項(對於與控制項同步的合併訂閱)
刪除映象後的維護
1>如果移除映象資料庫,複製繼續在住資料庫上執行,則無需做任何設定
2>如果移除主資料庫,複製在映象資料庫上執行,則建議重新搭建複製
可以使用一下指令碼來設定publishe***iloverpartner
declare @publishe***iloverpartner nvarchar(30)
set @publishe***iloverpartner='@publishe***iloverpartner'
if @publishe***iloverpartner='@publishe***iloverpartner'
begin
print 'please change the value of @publishe***iloverpartner'
return
enddrop table #profiles
create table #profiles (
profile_id int,
profile_name sysname,
agent_type int,
[type] int,
description varchar(3000),
def_profile bit)
--snapshot agent
insert into #profiles (profile_id, profile_name,
agent_type, [type],description, def_profile)
exec sp_help_agent_profile @agent_type = 1;
--log reader agent
insert into #profiles (profile_id, profile_name,
agent_type, [type],description, def_profile)
exec sp_help_agent_profile @agent_type = 2;
--replication merge agent
insert into #profiles (profile_id, profile_name,
agent_type, [type],description, def_profile)
exec sp_help_agent_profile @agent_type = 4;
--replication queue reader agent
insert into #profiles (profile_id, profile_name,
agent_type, [type],description, def_profile)
exec sp_help_agent_profile @agent_type = 9;
--add parameter publishe***iloverpartner
select 'exec sp_add_agent_parameter @profile_id='+cast(profile_id as varchar(10))+', @parameter_name=publishe***iloverpartner,@parameter_value=['+@publishe***iloverpartner+']' from #profiles where def_profile=1
--check the result
select 'exec sp_help_agent_parameter @profile_id='+cast(profile_id as varchar(10)) from #profiles where def_profile=1
參考:
Replication 分割槽 複製
1 配置訂閱表使用分割槽,在發布的專案屬性中設定 複製分割槽方案 和 複製索引分割槽方案 為true,然後初始化訂閱 2 在發布資料庫上修改發布屬性 將 allow partition switch,設定為 true 時 publication replicationname property al...
Replication 複製問答
在發布表尾部增加字段,需要重新初始化訂閱麼?答 在發布表尾部增加字段,不需要不需要重新初始化訂閱,該修改會自動同步到訂閱段,也不需要對複製做任何修改。但如果在同乙個發布中增加新的專案,需要重新初始化訂閱。在發布中使用自增列,需要對自增列做特殊設定麼?答 不需要,在建立複製時,會修改表中自增列為 no...
Replication 複製相關的作業
複製使用下列作業來執行計畫維護和按需維護 作業名稱 說明 預設排程 歷史記錄清除 分發 從分發資料庫中刪除複製 歷史記錄。每十分鐘執行一次 分發清除 分發 從分發資料庫中刪除複製的事務。停用在最大分發保持期內尚未同步的訂閱。每十分鐘執行一次 過期訂閱清除 從發布資料庫檢測和刪除過期的訂閱。每天凌晨 ...