PreSnapshotScript Property

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 PreSnapshotScript property specifies the complete path and file name of a Transact-SQL script that runs before an initial snapshot is applied to a Subscriber.

Syntax

object
.PreSnapshotScript [= value]

Parts

  • object
    An expression that evaluates to an object in the Applies To list

  • value
    A string that specifies the complete path and file name of the Transact-SQL script

Data Type

String

Modifiable

Read/write

Prototype (C/C++)

HRESULT GetPreSnapshotScript(SQLDMO_LPBSTR pRetVal);
HRESULT SetPreSnapshotScript(SQLDMO_LPCSTR NewValue);

Remarks

Running Transact-SQL scripts before an initial snapshot is applied can be used to:

  • Perform presnapshot cleanup.

  • Add users and permissions to databases to be replicated.

  • Create user-defined data types.

    Note

    If PreSnapshotScript is set, the script automatically runs when a subscription is reinitialized. Therefore, the script must be written so that its statements are repeatable.

    If an application sets PreSnapshotScript after the initial snapshot has been created, a new snapshot must be generated. Snapshots are applied when the next scheduled snapshot agent runs.

You can also run Transact-SQL scripts during a replication operation using the ReplicateUserDefinedScript method.

Note

If an application calls PreSnapshotScript 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.