ReplicateUserDefinedScript Method

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

The ReplicateUserDefinedScript method replicates the execution of a user-defined script to the subscribers of the specified publication.



Expression that evaluates to an object in the Applies To list.


As String.

HRESULT ReplicateUserDefinedScript(SQLDMO_LPCSTR szScriptFilePath);

An application can run Transact-SQL scripts during a replication operation using the ReplicateUserDefinedScript method. Transact-SQL scripts that run during a replication operation might be used to:

  • Create new stored procedures.

  • Assign permissions.

  • Create new logins.

The Log Reader Agent must to be running for the script to be replicated properly if transactional replication is used. Snapshot replication does not support the ReplicateUserDefinedScript method because the Log Reader Agent does not run in snapshot replication.

In both transactional and merge replication, the user-defined script is copied to the Distributor when ReplicateUserDefinedScript is first invoked. The Distribution or Merge Agent then applies the copy at the Distributor to the Subscriber. Therefore any modifications made to the specified script after the ReplicateUserDefinedScript method is invoked will have no bearing on the outcome of the subsequent script replication.

You can also run Transact-SQL scripts when the initial snapshot is created using the PostSnapshotScript and PreSnapshotScript properties.


If an application calls ReplicateUserDefinedScript on an instance of SQL Server version 7.0, the constant, SQLDMO_E_SQL80ONLY, and the message "This property or method requires Microsoft SQL Server 2000 or later" are returned.

Community Additions