SnapshotGenerationAgent Class
Provides the functionality of the Replication Snapshot Agent.
MarshalByRefObject
Microsoft.SqlServer.Replication::AgentCore
Microsoft.SqlServer.Replication::SnapshotGenerationAgent
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Replication (in Microsoft.SqlServer.Replication.dll)
The SnapshotGenerationAgent type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AbortPolicy | Gets or sets how running replication agent threads are terminated when an unanticipated shutdown occurs. (Inherited from AgentCore.) |
![]() | BcpBatchSize | Gets or set the number of rows to send to the Distributor in a bulk copy operation. |
![]() | ComErrorCollection | Gets information on errors that occur during agent execution. (Inherited from AgentCore.) |
![]() | Distributor | Gets or sets the name of the instance of SQL Server acting as the Distributor for the publication. |
![]() | DistributorDeadlockPriority | Gets or sets the priority of the Snapshot Agent connection to the Distributor when a deadlock occurs. |
![]() | DistributorEncryptedPassword | Infrastructure. Gets or sets the encrypted password for the distributor. |
![]() | DistributorEncryptionLevel | Gets of sets the level of Secure Sockets Layer (SSL) encryption used by the Snapshot Agent when connecting to the Distributor. |
![]() | DistributorLogin | Gets or sets the login name used when connecting locally to the Distributor using SQL Server Authentication. |
![]() | DistributorNetworkLibrary | Infrastructure. Gets or sets the Network library used when connecting locally to the Distributor using SQL Server Authentication. |
![]() | DistributorPassword | Sets the password used when connecting locally to the Distributor using SQL Server Authentication. |
![]() | DistributorSecurityMode | Gets or sets the security mode used when connecting locally to the Distributor. |
![]() | DynamicFilterHostName | Gets or sets the value supplied to the HOST_NAME function used in a parameterized row filter. |
![]() | DynamicFilterLogin | Gets or sets the value supplied to the SUSER_SNAME function used in a parameterized row filter. |
![]() | DynamicSnapshotLocation | Gets or sets the location of the partitioned snapshot for a subscription to a merge publication that is defined based-on a parameterized row filter. |
![]() | FieldDelimiter | Gets or sets the character or character sequence that marks the end of a field in the SQL Server bulk-copy data file. |
![]() | FlatExceptionCollection | Infrastructure. Gets the collection of exception objects accessed using the IEnumerable interface. (Inherited from AgentCore.) |
![]() | HistoryVerboseLevel | Gets or sets the amount of history logged during agent execution. (Inherited from AgentCore.) |
![]() | HRBcpBlocks | Infrastructure. Gets or sets the HR bulk copy program blocks. |
![]() | HRBcpBlockSize | Infrastructure. Gets or sets the HR bulk copy program block size. |
![]() | HRBcpDynamicBlocks | Infrastructure. Gets or sets the HR bulk copy program dynamic blocks. |
![]() | LoginTimeout | Get or sets the number of seconds before the login times out for connections made by the agent. (Inherited from AgentCore.) |
![]() | MaxBcpThreads | Gets or sets the number of bulk copy operations that can be performed in parallel. |
![]() | MaxNetworkOptimization | Gets or sets whether out-of-partition deletes are sent to the Subscriber. |
![]() | OnetimeDynamicSnapshot | Infrastructure. Gets or sets the one time dynamic snapshot. |
![]() | Output | Gets or sets the name and path of the agent output file. (Inherited from AgentCore.) |
![]() | OutputVerboseLevel | Gets or sets the level of detail of information written to the agent output file. (Inherited from AgentCore.) |
![]() | PacketSize | Infrastructure. Gets or sets the packet size associated with the agent. (Inherited from AgentCore.) |
![]() | ProfileName | Gets or sets an agent profile to use when running the agent. (Inherited from AgentCore.) |
![]() | Publication | Gets or sets the name of the publication. |
![]() | Publisher | Gets or sets the name of the instance of SQL Server that is the Publisher. |
![]() | PublisherDatabase | Gets or sets the name of the publication database. |
![]() | PublisherDeadlockPriority | Gets or sets the priority of the Snapshot Agent connection to the Publisher when a deadlock occurs. |
![]() | PublisherEncryptedPassword | Infrastructure. Gets or sets the encrypted password for the publisher. |
![]() | PublisherEncryptionLevel | Gets of sets the level of Secure Sockets Layer (SSL) encryption used by the Snapshot Agent when connecting to the Distributor. |
![]() | PublisherFailoverPartner | Gets or sets the failover partner instance of SQL Server participating in a database mirroring session with the publication database. (Inherited from AgentCore.) |
![]() | PublisherLogin | Gets or sets the login name used when connecting to the Publisher using SQL Server Authentication. |
![]() | PublisherNetworkLibrary | Infrastructure. Gets or sets the Network library used when connecting locally to the Publisher using SQL Server Authentication. |
![]() | PublisherPassword | Sets the password used when connecting to the Publisher using SQL Server Authentication. |
![]() | PublisherSecurityMode | Gets or sets the security mode used when connecting to the Publisher. |
![]() | QueryTimeout | Gets or sets the number of seconds before a query times out. (Inherited from AgentCore.) |
![]() | ReplicationType | Gets or sets the type of publication. |
![]() | RowDelimiter | Gets or sets the character or character sequence that marks the end of a row in the SQL Server bulk-copy data file. |
![]() | SecureDistributorEncryptedPassword | Infrastructure. Sets the encrypted password used when connecting locally to the Distributor using SQL Server Authentication. |
![]() | SecureDistributorPassword | Sets the password (as a SecureString object) used when connecting locally to the Distributor using SQL Server Authentication. |
![]() | SecurePublisherEncryptedPassword | Infrastructure. Sets the encrypted password used when connecting to the Publisher using SQL Server Authentication. |
![]() | SecurePublisherPassword | Sets the password (as a SecureString object) used when connecting to the Publisher using SQL Server Authentication. |
![]() | StartQueueTimeout | Gets or sets the time that the Snapshot Agent waits when the maximum number of concurrent partitioned snapshot processes for a merge publication are already running. |
![]() | Supports70Subscribers | Gets or sets whether the generated snapshot supports SQL Server 7.0 Subscribers. |
| Name | Description | |
|---|---|---|
![]() | Abort | Aborts the process of the current instance. (Inherited from AgentCore.) |
![]() | CreateObjRef | Security Critical. (Inherited from MarshalByRefObject.) |
![]() | Equals | (Inherited from Object.) |
![]() | GenerateSnapshot | Starts the Snapshot Agent to generate the snapshot. |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetLifetimeService | Security Critical. (Inherited from MarshalByRefObject.) |
![]() | GetType | (Inherited from Object.) |
![]() | InitializeLifetimeService | Security Critical. (Inherited from MarshalByRefObject.) |
![]() | ResetParametersToDefault | Resets the value of the parameters to default. (Inherited from AgentCore.) |
![]() | ToString | (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | ISnapshotGenerationAgent::ResetParametersToDefault | Resets the parameters to its default value. |
The SnapshotGenerationAgent class provides direct, programmatic access to the Snapshot Agent.
The SnapshotGenerationAgent class supports the ability to do the following replication tasks:
Generate the initial snapshot
Generate a partitioned snapshot for a subscription defined based-on a parameterized filter.
This example generates a standard snapshot for a transactional publication.
// Set the Publisher, publication database, and publication names. string publicationName = "AdvWorksProductTran"; string publicationDbName = "AdventureWorks2012"; string publisherName = publisherInstance; string distributorName = publisherInstance; SnapshotGenerationAgent agent; try { // Set the required properties for Snapshot Agent. agent = new SnapshotGenerationAgent(); agent.Distributor = distributorName; agent.DistributorSecurityMode = SecurityMode.Integrated; agent.Publisher = publisherName; agent.PublisherSecurityMode = SecurityMode.Integrated; agent.Publication = publicationName; agent.PublisherDatabase = publicationDbName; agent.ReplicationType = ReplicationType.Transactional; // Start the agent synchronously. agent.GenerateSnapshot(); } catch (Exception ex) { // Implement custom application error handling here. throw new ApplicationException(String.Format( "A snapshot could not be generated for the {0} publication." , publicationName), ex); }
' Set the Publisher, publication database, and publication names. Dim publicationName As String = "AdvWorksProductTran" Dim publicationDbName As String = "AdventureWorks2012" Dim publisherName As String = publisherInstance Dim distributorName As String = publisherInstance Dim agent As SnapshotGenerationAgent Try ' Set the required properties for Snapshot Agent. agent = New SnapshotGenerationAgent() agent.Distributor = distributorName agent.DistributorSecurityMode = SecurityMode.Integrated agent.Publisher = publisherName agent.PublisherSecurityMode = SecurityMode.Integrated agent.Publication = publicationName agent.PublisherDatabase = publicationDbName agent.ReplicationType = ReplicationType.Transactional ' Start the agent synchronously. agent.GenerateSnapshot() Catch ex As Exception ' Implement custom application error handling here. Throw New ApplicationException(String.Format( _ "A snapshot could not be generated for the {0} publication." _ , publicationName), ex) End Try
This example generates a standard snapshot for a merge publication.
// Set the Publisher, publication database, and publication names. string publicationName = "AdvWorksSalesOrdersMerge"; string publicationDbName = "AdventureWorks2012"; string publisherName = publisherInstance; string distributorName = publisherInstance; SnapshotGenerationAgent agent; try { // Set the required properties for Snapshot Agent. agent = new SnapshotGenerationAgent(); agent.Distributor = distributorName; agent.DistributorSecurityMode = SecurityMode.Integrated; agent.Publisher = publisherName; agent.PublisherSecurityMode = SecurityMode.Integrated; agent.Publication = publicationName; agent.PublisherDatabase = publicationDbName; agent.ReplicationType = ReplicationType.Merge; // Start the agent synchronously. agent.GenerateSnapshot(); } catch (Exception ex) { // Implement custom application error handling here. throw new ApplicationException(String.Format( "A snapshot could not be generated for the {0} publication." , publicationName), ex); }
' Set the Publisher, publication database, and publication names. Dim publicationName As String = "AdvWorksSalesOrdersMerge" Dim publicationDbName As String = "AdventureWorks2012" Dim publisherName As String = publisherInstance Dim distributorName As String = publisherInstance Dim agent As SnapshotGenerationAgent Try ' Set the required properties for Snapshot Agent. agent = New SnapshotGenerationAgent() agent.Distributor = distributorName agent.DistributorSecurityMode = SecurityMode.Integrated agent.Publisher = publisherName agent.PublisherSecurityMode = SecurityMode.Integrated agent.Publication = publicationName agent.PublisherDatabase = publicationDbName agent.ReplicationType = ReplicationType.Merge ' Start the agent synchronously. agent.GenerateSnapshot() Catch ex As Exception ' Implement custom application error handling here. Throw New ApplicationException(String.Format( _ "A snapshot could not be generated for the {0} publication." _ , publicationName), ex) End Try
This example overloads the HOST_NAME function to generate a filtered data snapshot for a subscription to a merge publication that has a parameterized filter.
// Set the Publisher, publication database, and publication names. string publicationName = "AdvWorksSalesOrdersMerge"; string publicationDbName = "AdventureWorks2012"; string publisherName = publisherInstance; string distributorName = publisherInstance; SnapshotGenerationAgent agent; try { // Set the required properties for Snapshot Agent. agent = new SnapshotGenerationAgent(); agent.Distributor = distributorName; agent.DistributorSecurityMode = SecurityMode.Integrated; agent.Publisher = publisherName; agent.PublisherSecurityMode = SecurityMode.Integrated; agent.Publication = publicationName; agent.PublisherDatabase = publicationDbName; agent.ReplicationType = ReplicationType.Merge; // Specify the partition information to generate a // filtered snapshot based on Hostname. agent.DynamicFilterHostName = hostname; // Start the agent synchronously. agent.GenerateSnapshot(); } catch (Exception ex) { // Implement custom application error handling here. throw new ApplicationException(String.Format( "A snapshot could not be generated for the {0} publication." , publicationName), ex); }
' Set the Publisher, publication database, and publication names. Dim publicationName As String = "AdvWorksSalesOrdersMerge" Dim publicationDbName As String = "AdventureWorks2012" Dim publisherName As String = publisherInstance Dim distributorName As String = publisherInstance Dim agent As SnapshotGenerationAgent Try ' Set the required properties for Snapshot Agent. agent = New SnapshotGenerationAgent() agent.Distributor = distributorName agent.DistributorSecurityMode = SecurityMode.Integrated agent.Publisher = publisherName agent.PublisherSecurityMode = SecurityMode.Integrated agent.Publication = publicationName agent.PublisherDatabase = publicationDbName agent.ReplicationType = ReplicationType.Merge ' Specify the partition information to generate a ' filtered snapshot based on Hostname. agent.DynamicFilterHostName = hostname ' Start the agent synchronously. agent.GenerateSnapshot() Catch ex As Exception ' Implement custom application error handling here. Throw New ApplicationException(String.Format( _ "A snapshot could not be generated for the {0} publication." _ , publicationName), ex) End Try
