Replication 映象 複製

2021-09-06 13:29:45 字數 2463 閱讀 5153

場景:

主伺服器: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 複製相關的作業

複製使用下列作業來執行計畫維護和按需維護 作業名稱 說明 預設排程 歷史記錄清除 分發 從分發資料庫中刪除複製 歷史記錄。每十分鐘執行一次 分發清除 分發 從分發資料庫中刪除複製的事務。停用在最大分發保持期內尚未同步的訂閱。每十分鐘執行一次 過期訂閱清除 從發布資料庫檢測和刪除過期的訂閱。每天凌晨 ...