SnapshotGenerationAgent Class
Provides the functionality of the Replication Snapshot Agent.
Inheritance Hierarchy
System.Object
System.MarshalByRefObject
Microsoft.SqlServer.Replication.AgentCore
Microsoft.SqlServer.Replication.SnapshotGenerationAgent
Namespace: Microsoft.SqlServer.Replication
Assembly: Microsoft.SqlServer.Replication (in Microsoft.SqlServer.Replication.dll)
Syntax
'Declaration
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<GuidAttribute("141945FD-18BD-4222-B6D9-F937704C7FFE")> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class SnapshotGenerationAgent _
Inherits AgentCore _
Implements ISnapshotGenerationAgent
'Usage
Dim instance As SnapshotGenerationAgent
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[GuidAttribute("141945FD-18BD-4222-B6D9-F937704C7FFE")]
[ComVisibleAttribute(true)]
public sealed class SnapshotGenerationAgent : AgentCore,
ISnapshotGenerationAgent
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
[GuidAttribute(L"141945FD-18BD-4222-B6D9-F937704C7FFE")]
[ComVisibleAttribute(true)]
public ref class SnapshotGenerationAgent sealed : public AgentCore,
ISnapshotGenerationAgent
[<SealedAttribute>]
[<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)>]
[<GuidAttribute("141945FD-18BD-4222-B6D9-F937704C7FFE")>]
[<ComVisibleAttribute(true)>]
type SnapshotGenerationAgent =
class
inherit AgentCore
interface ISnapshotGenerationAgent
end
public final class SnapshotGenerationAgent extends AgentCore implements ISnapshotGenerationAgent
The SnapshotGenerationAgent type exposes the following members.
Constructors
Name | Description | |
---|---|---|
SnapshotGenerationAgent | Creates an instance of the SnapshotGenerationAgent class. |
Top
Properties
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 | Returns 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. | |
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. | |
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. (Inherited from AgentCore.) | |
HistoryVerboseLevel | Gets or sets the amount of history logged during agent execution. (Inherited from AgentCore.) | |
HRBcpBlocks | Infrastructure. | |
HRBcpBlockSize | Infrastructure. | |
HRBcpDynamicBlocks | Infrastructure. | |
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. | |
Output | Get 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. (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. | |
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. | |
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 | Get 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. | |
SecureDistributorPassword | Sets the password (as a SecureString object) used when connecting locally to the Distributor using SQL Server Authentication. | |
SecurePublisherEncryptedPassword | Infrastructure. | |
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. |
Top
Methods
Name | Description | |
---|---|---|
Abort | (Inherited from AgentCore.) | |
CreateObjRef | (Inherited from MarshalByRefObject.) | |
Equals | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
GenerateSnapshot | Starts the Snapshot Agent to generate the snapshot. | |
GetHashCode | (Inherited from Object.) | |
GetLifetimeService | (Inherited from MarshalByRefObject.) | |
GetType | (Inherited from Object.) | |
InitializeLifetimeService | (Inherited from MarshalByRefObject.) | |
MemberwiseClone() | (Inherited from Object.) | |
MemberwiseClone(Boolean) | (Inherited from MarshalByRefObject.) | |
ResetParametersToDefault | (Inherited from AgentCore.) | |
ToString | (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
ComStatus | (Inherited from AgentCore.) | |
Status | Occurs when a running agent returns status information. (Inherited from AgentCore.) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
ISnapshotGenerationAgent.ResetParametersToDefault |
Top
Remarks
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.
Examples
This example generates a standard snapshot for a transactional publication.
// Set the Publisher, publication database, and publication names.
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2008R2";
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 = "AdventureWorks2008R2"
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 = "AdventureWorks2008R2";
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 = "AdventureWorks2008R2"
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 = "AdventureWorks2008R2";
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 = "AdventureWorks2008R2"
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
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.