Use the rs_send_repserver_cmd stored procedure to execute replication definition change requests directly at the primary database.
Replication Server supports rs_send_repserver_cmd for these replication definition RCL commands:
The syntax is:
exec rs_send_repserver_cmd ‘rs_api’
rs_api contains the replication definition you want to change.
For example, to drop the address, city, state, and zip columns from the authors replication definition at the primary database, enter:
exec rs_send_repserver_cmd ‘alter replication definition authors drop address, city, state, zip’
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