SQL Server 2005: Peer to Peer Transactional Replication Setup
These scripts have been created to set up a peer to peer system.
The settings I’ve used:
| Login: | PAULSDOMAIN\Administrator |
| Password: | password |
| Database name: | peertopeerPublisher |
| Table with PK: | PITest |
| Server1 | HOME-SERVER |
| Server2 | HOME-SERVER\FIRSTINSTANCE |
You’ll need to create an identically named database on 2 servers (called peertopeerPublisher for me) or on a default and a named instance (this is because the publication names must be identical, so we can’t do this on the same instance). After that you’ll need to enable distribution on each server and publishing of the database. This is much the same as before, albeit in a different part of the GUI. There are 2 scripts below – (1) and (2) and all you need to do is use find and replace to modify them according to your settings.
(1) On First Server
use peertopeerPublisher
go
sp_addlogreader_agent
@job_login = ‘PAULSDOMAIN\Administrator’
, @job_password = ‘password’
, @publisher_security_mode = 1
, @publisher_login = ‘PAULSDOMAIN\Administrator’
, @publisher_password = ‘password’
, @publisher = null
go
exec sp_addpublication
@publication = ‘PeerToPeer1′,
@description = ‘test peer to peer’,
@sync_method = ‘concurrent’,
@retention = 0,
@allow_push = ‘true’,
@allow_pull = ‘true’,
@allow_anonymous = ‘false’,
@enabled_for_internet = ‘false’,
@snapshot_in_defaultfolder = ‘true’,
@compress_snapshot = ‘false’,
@ftp_port = 21,
@ftp_login = ‘anonymous’,
@allow_subscription_copy = ‘false’,
@add_to_active_directory = ‘false’,
@repl_freq = ‘continuous’,
@status = ‘active’,
@independent_agent = ‘true’,
@immediate_sync = ‘true’,
@allow_sync_tran = ‘false’,
@autogen_sync_procs = ‘false’,
@allow_queued_tran = ‘false’,
@allow_dts = ‘false’,
@replicate_ddl = 1,
@allow_initialize_from_backup = ‘false’,
@enabled_for_p2p = ‘true’
go
exec sp_addarticle
@publication = N’PeerToPeer1′,
@article = N’PITest’,
@source_owner = N’dbo’,
@source_object = N’PITest’,
@type = N’logbased’,
@description = N”,
@creation_script = N”,
@pre_creation_cmd = N’none’,
@schema_option = 0×00000000000044F7,
@identityrangemanagementoption = N’manual’,
@destination_table = N’PITest’,
@destination_owner = N’dbo’,
@status = 16,
@vertical_partition = N’false’,
@ins_cmd = N’CALL [sp_MSins_PITest]‘,
@del_cmd = N’CALL [sp_MSdel_PITest]‘,
@upd_cmd = N’MCALL [sp_MSupd_PITest]‘
go
exec sp_addsubscription
@publication = ‘PeerToPeer1′,
@subscriber = ‘HOME-SERVER\FIRSTINSTANCE’,
@destination_db = ‘peertoPeerPublisher’,
@sync_type = ‘replication support only’
go
exec sys.sp_addpushsubscription_agent
@publication = N’PeerToPeer1′,
@subscriber = N’HOME-SERVER\FIRSTINSTANCE’,
@subscriber_db = N’PeerToPeerSubscriber’,
@job_login = N’PAULSDOMAIN\Administrator’,
@job_password = ‘password’,
@subscriber_security_mode = 1,
@frequency_type = 64,
@frequency_interval = 1,
@frequency_relative_interval = 1,
@frequency_recurrence_factor = 0,
@frequency_subday = 4,
@frequency_subday_interval = 5,
@active_start_time_of_day = 0,
@active_end_time_of_day = 235959,
@active_start_date = 0,
@active_end_date = 0,
@dts_package_location = N’Distributor’
(2) On Second Server
use peertopeerPublisher
go
sp_addlogreader_agent
@job_login = ‘PAULSDOMAIN\Administrator’
, @job_password = ‘password’
, @publisher_security_mode = 1
, @publisher_login = ‘PAULSDOMAIN\Administrator’
, @publisher_password = ‘password’
, @publisher = null
go
exec sp_addpublication
@publication = ‘PeerToPeer1′,
@description = ‘test peer to peer’,
@sync_method = ‘concurrent’,
@retention = 0,
@allow_push = ‘true’,
@allow_pull = ‘true’,
@allow_anonymous = ‘false’,
@enabled_for_internet = ‘false’,
@snapshot_in_defaultfolder = ‘true’,
@compress_snapshot = ‘false’,
@ftp_port = 21,
@ftp_login = ‘anonymous’,
@allow_subscription_copy = ‘false’,
@add_to_active_directory = ‘false’,
@repl_freq = ‘continuous’,
@status = ‘active’,
@independent_agent = ‘true’,
@immediate_sync = ‘true’,
@allow_sync_tran = ‘false’,
@autogen_sync_procs = ‘false’,
@allow_queued_tran = ‘false’,
@allow_dts = ‘false’,
@replicate_ddl = 1,
@allow_initialize_from_backup = ‘false’,
@enabled_for_p2p = ‘true’
go
exec sp_addarticle
@publication = N’PeerToPeer1′,
@article = N’PITest’,
@source_owner = N’dbo’,
@source_object = N’PITest’,
@type = N’logbased’,
@description = N”,
@creation_script = N”,
@pre_creation_cmd = N’none’,
@schema_option = 0×00000000000044F7,
@identityrangemanagementoption = N’manual’,
@destination_table = N’PITest’,
@destination_owner = N’dbo’,
@status = 16,
@vertical_partition = N’false’,
@ins_cmd = N’CALL [sp_MSins_PITest]‘,
@del_cmd = N’CALL [sp_MSdel_PITest]‘,
@upd_cmd = N’MCALL [sp_MSupd_PITest]‘
go
exec sp_addsubscription
@publication = ‘PeerToPeer1′,
@subscriber = ‘HOME-SERVER’,
@destination_db = ‘peertoPeerPublisher’,
@sync_type = ‘replication support only’
go
exec sys.sp_addpushsubscription_agent
@publication = N’PeerToPeer1′,
@subscriber = N’HOME-SERVER’,
@subscriber_db = N’PeerToPeerSubscriber’,
@job_login = N’PAULSDOMAIN\Administrator’,
@job_password = ‘password’,
@subscriber_security_mode = 1,
@frequency_type = 64,
@frequency_interval = 1,
@frequency_relative_interval = 1,
@frequency_recurrence_factor = 0,
@frequency_subday = 4,
@frequency_subday_interval = 5,
@active_start_time_of_day = 0,
@active_end_time_of_day = 235959,
@active_start_date = 0,
@active_end_date = 0,
@dts_package_location = N’Distributor’
Google Search: SQL Server 2005: Peer to Peer Transactional Replication Setup
DB Error Code: SQL Server 2005: Peer to Peer Transactional Replication Setup












Leave your response!