Show TOC

rs_send_repserver_cmdLocate this document in the navigation structure

Executes replication definition change requests directly at the primary database.

Syntax
rs_send_repserver_cmd ‘<rs_api>
Parameters
rs_api

Contains the replication definition Replication Command Language (RCL) command and parameters you specify for rs_send_repserver_cmd. <rs_api> is a <varchar> parameter with a maximum length of 16370 bytes for Adaptive Server, 4000 bytes for Oracle, and 8000 bytes for Microsoft SQL Server.

Enclose <rs_api> in single quotes, and replace each single quote inside the string with two single quotes.

If the parameter length for <rs_api> is too short for a create or alter replication definition request, you can split the request into two or more requests.

Examples
Example 1

Execute the “authors” alter replication definition request at the primary database to drop the address, city, state, and zip columns:

exec rs_send_repserver_cmd ‘alter replication
definition authors drop address, city, state, zip’
Example 2

If a replication definition RCL is longer than the maximum length allowed for <rs_api>, you can split the request into two or more requests.

exec rs_send_repserver_cmd ‘alter replication
definition authors drop address, city’ 
go
exec rs_send_repserver_cmd ‘alter replication
definition authors drop state, zip’
Example 3

In this example, you need to enclose “authors” in double quotes, and ‘off’ in two single quotes:

exec rs_send_repserver_cmd ‘alter replication definition “authors” replicate sqldml ‘‘off’’’
Usage
  • Before you use rs_send_repserver_cmd at the primary database, use admin verify_repserver_cmd to verify that you can execute the replication definition request successfully at the Replication Server.

  • Replication Server supports rs_send_repserver_cmd for these replication definition commands:

    • alter replication definition

    • create replication definition

    • drop replication definition

    • alter applied function replication definition

    • create applied function replication definition

    • alter request function replication definition

    • create request function replication definition

    Note

    Besides Adaptive Server, Replication Server extends support for rs_send_repserver_cmd to supported versions of these non-ASE databases: Microsoft SQL Server and Oracle. See the Release Bulletin for Replication Agent for the supported database versions.

  • When you execute rs_send_repserver_cmd at the primary database, the Replication Agent sends the RCL command stored in <rs_api> to the Replication Server, which then executes the RCL command. This ensures that Replication Server replicates the primary data with the proper replication definition version—primary data before the rs_send_repserver_cmd is replicated with the old replication definition version, while primary data after the rs_send_repserver_cmd is replicated with the new replication definition version.

  • You do not always need to issue replication definition change requests directly from a primary data server. For example, you can execute the alter replication definition request directly from the primary Replication Server in these situations:

    • If there is no subscription to the replication definition

    • If there are subscriptions to the replication definition, but there is no data in the primary database log for the table or stored procedure

    • If you are adding or dropping a searchable column to or from a table replication definition

    • If you are adding or dropping a searchable parameter to or from a function replication definition

    • If you are altering a replication definition to turn Dynamic SQL on or off

Caution

As Replication Server accepts all commands that Replication Agent sends to Replication Server, you must control access to rs_send_repserver_cmd at the primary database.