-- Enabling the replication database
USE master
EXEC sp_replicationdboption @dbname = N'SQLMonitor', @optname = N'publish',
@value = N'true'
GO
EXEC [SQLMonitor].sys.sp_addlogreader_agent @job_login = NULL,
@job_password = NULL, @publisher_security_mode = 1
GO
EXEC [SQLMonitor].sys.sp_addqreader_agent @job_login = NULL,
@job_password = NULL, @frompublisher = 1
GO
-- Adding the transactional publication
USE [SQLMonitor]
EXEC sp_addpublication @publication = N'Bananas Test',
@description = N'Transactional publication of database ''SQLMonitor'' from Publisher ''local''.',
@sync_method = N'concurrent', @retention = 0, @allow_push = N'true',
@allow_pull = N'true', @allow_anonymous = N'false',
@enabled_for_internet = N'false', @snapshot_in_defaultfolder = N'true',
@compress_snapshot = N'false', @ftp_port = 21, @ftp_login = N'anonymous',
@allow_subscription_copy = N'false', @add_to_active_directory = N'false',
@repl_freq = N'continuous', @status = N'active',
@independent_agent = N'true', @immediate_sync = N'false',
@allow_sync_tran = N'false', @autogen_sync_procs = N'false',
@allow_queued_tran = N'false', @allow_dts = N'false', @replicate_ddl = 1,
@allow_initialize_from_backup = N'false', @enabled_for_p2p = N'false',
@enabled_for_het_sub = N'false'
GO
EXEC sp_addpublication_snapshot @publication = N'Bananas Test',
@frequency_type = 1, @frequency_interval = 0,
@frequency_relative_interval = 0, @frequency_recurrence_factor = 0,
@frequency_subday = 0, @frequency_subday_interval = 0,
@active_start_time_of_day = 0, @active_end_time_of_day = 235959,
@active_start_date = 0, @active_end_date = 0, @job_login = NULL,
@job_password = NULL, @publisher_security_mode = 1
EXEC sp_grant_publication_access @publication = N'Bananas Test',
@login = N'sa'
GO
EXEC sp_grant_publication_access @publication = N'Bananas Test',
@login = N'NT AUTHORITYSYSTEM'
GO
EXEC sp_grant_publication_access @publication = N'Bananas Test',
@login = N'NT SERVICESQLSERVERAGENT'
GO
EXEC sp_grant_publication_access @publication = N'Bananas Test',
@login = N'NT SERVICEMSSQLSERVER'
GO
EXEC sp_grant_publication_access @publication = N'Bananas Test',
@login = N'distributor_admin'
GO
-- Adding the transactional articles
USE [SQLMonitor]
EXEC sp_addarticle @publication = N'Bananas Test', @article = N'SQLBuilds',
@source_owner = N'dbo', @source_object = N'SQLBuilds', @type = N'logbased',
@description = N'', @creation_script = N'', @pre_creation_cmd = N'drop',
@schema_option = 0x000000000803509F,
@identityrangemanagementoption = N'none',
@destination_table = N'SQLBuilds', @destination_owner = N'dbo',
@status = 24, @vertical_partition = N'true',
@ins_cmd = N'CALL [sp_MSins_dboSQLBuilds]',
@del_cmd = N'CALL [sp_MSdel_dboSQLBuilds]',
@upd_cmd = N'SCALL [sp_MSupd_dboSQLBuilds]'
-- Adding the article's partition column(s)
EXEC sp_articlecolumn @publication = N'Bananas Test', @article = N'SQLBuilds',
@column = N'Build', @operation = N'add', @force_invalidate_snapshot = 1,
@force_reinit_subscription = 1
EXEC sp_articlecolumn @publication = N'Bananas Test', @article = N'SQLBuilds',
@column = N'KB Article', @operation = N'add',
@force_invalidate_snapshot = 1, @force_reinit_subscription = 1
EXEC sp_articlecolumn @publication = N'Bananas Test', @article = N'SQLBuilds',
@column = N'MajorBuild', @operation = N'add',
@force_invalidate_snapshot = 1, @force_reinit_subscription = 1
EXEC sp_articlecolumn @publication = N'Bananas Test', @article = N'SQLBuilds',
@column = N'MinorBuild', @operation = N'add',
@force_invalidate_snapshot = 1, @force_reinit_subscription = 1
-- Adding the article synchronization object
EXEC sp_articleview @publication = N'Bananas Test', @article = N'SQLBuilds',
@view_name = N'Bananas', @filter_clause = N'[KB Article] >0',
@force_invalidate_snapshot = 1, @force_reinit_subscription = 1
GO