Replication Server executes the rs_marker system function in a primary database during subscription materialization. The function works by executing a replicated stored procedure that is also named rs_marker. The procedure checks to make sure it is marked replicated and issues a warning if it is not. Because the rs_marker stored procedure is replicated, Adaptive Server records its executions in the transaction log for the database, where they can be read by RepAgent.
Sybase Central and rs_init create rs_marker when you designate a database as having primary data. It is not required in databases that have no primary data. The exact text of the stored procedure can always be found in rs_install_primary.sql or rsinssys.sql in the scripts directory of the Sybase release directory.
Here is a sample text:
create procedure rs_marker @rs_api varchar(255) as declare @rep_constant smallint select @rep_constant = -32768 if not exists (select sysstat from sysobjects where name = 'rs_marker' and type = 'P' and sysstat & @rep_constant != 0) begin print "Have your DBO execute ''sp_setreplicate'' on the procedure ''rs_marker''" return(1) end
rs_marker does not modify data in the database. Its purpose is to execute so that it can be recorded in the transaction log.
If rs_marker is not marked as replicated, you can mark it with sp_setreplicate:
sp_setreplicate rs_marker, 'true'