Condividi tramite


ReplicateUserDefinedScript Method

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

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

Sintassi

object.ReplicateUserDefinedScript( szScriptFilePath)

Parts

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

  • szScriptFilePath
    As String.

Prototype (C/C++)

HRESULT ReplicateUserDefinedScript(SQLDMO_LPCSTR szScriptFilePath);

Osservazioni

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.

[!NOTA]

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.