Programming the SQL Snapshot ActiveX Control

Replication Programming

Replication Programming

Programming the SQL Snapshot ActiveX Control

The SQL Snapshot control is implemented as a Microsoft® ActiveX® in-process component. It provides a way to create snapshots, and is used by all types of replication. The control is comparable to the Snapshot Agent. Its primary class, the SQLSnapshot object, creates a snapshot of the specified publication on the specified Distributor.

Dynamic snapshots are supported. There are properties to provide values for the HOST_NAME() and SUSER_SNAME() functions when they appear in the filter criteria of dynamic publications, and to specify the location where the dynamic snapshots are written.

Instantiating the SQL Snapshot Control

This example is a Microsoft® Visual Basic® Sub procedure that creates a snapshot from a publication named FullSnapPublication using the database UE_PublisherDB on Publisher UE_PUBLISHER and saves it on Distributor UE_DISTRIBUTOR. Windows Authentication is used for both the Publisher and Distributor connections. The example shows the snapshot code for a snapshot publication. The code for a merge publication requires the ReplicationType property to be set.

Sub Main()
    Dim oSnapCtl        As SQLINITXLib.SQLSnapshot
    
    Set oSnapCtl = New SQLINITXLib.SQLSnapshot
    oSnapCtl.Publisher = "UE_PUBLISHER"
    oSnapCtl.PublisherDatabase = "UE_PublisherDB"
    oSnapCtl.PublisherSecurityMode = NT_AUTHENTICATION
    oSnapCtl.Publication = "FullSnapPublication"
    oSnapCtl.Distributor = "UE_DISTRIBUTOR"
    oSnapCtl.DistributorSecurityMode = NT_AUTHENTICATION
    oSnapCtl.Initialize
    oSnapCtl.Run
    oSnapCtl.Terminate
End Sub

Note  Include the call to the Terminate method to close connections and release allocated memory.

See Also

SQLSnapshot Object