次の方法で共有


SnapshotGenerationAgent クラス

Provides the functionality of the Replication Snapshot Agent.

継承階層

System.Object
  System.MarshalByRefObject
    Microsoft.SqlServer.Replication.AgentCore
      Microsoft.SqlServer.Replication.SnapshotGenerationAgent

名前空間:  Microsoft.SqlServer.Replication
アセンブリ:  Microsoft.SqlServer.Replication (Microsoft.SqlServer.Replication.dll)

構文

'宣言
<ComVisibleAttribute(True)> _
<GuidAttribute("80016755-0016-4129-A778-1461AD058C86")> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public NotInheritable Class SnapshotGenerationAgent _
    Inherits AgentCore _
    Implements ISnapshotGenerationAgent
'使用
Dim instance As SnapshotGenerationAgent
[ComVisibleAttribute(true)]
[GuidAttribute("80016755-0016-4129-A778-1461AD058C86")]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public sealed class SnapshotGenerationAgent : AgentCore, 
    ISnapshotGenerationAgent
[ComVisibleAttribute(true)]
[GuidAttribute(L"80016755-0016-4129-A778-1461AD058C86")]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class SnapshotGenerationAgent sealed : public AgentCore, 
    ISnapshotGenerationAgent
[<SealedAttribute>]
[<ComVisibleAttribute(true)>]
[<GuidAttribute("80016755-0016-4129-A778-1461AD058C86")>]
[<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)>]
type SnapshotGenerationAgent =  
    class 
        inherit AgentCore 
        interface ISnapshotGenerationAgent 
    end
public final class SnapshotGenerationAgent extends AgentCore implements ISnapshotGenerationAgent

SnapshotGenerationAgent 型は、以下のメンバーを公開しています。

コンストラクター

  名前 説明
パブリック メソッド SnapshotGenerationAgent Creates an instance of the SnapshotGenerationAgent class.

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ AbortPolicy Gets or sets how running replication agent threads are terminated when an unanticipated shutdown occurs. (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. (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 インフラストラクチャです。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 インフラストラクチャです。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 インフラストラクチャです。Gets the collection of exception objects accessed using the IEnumerable interface. (AgentCore から継承されています。)
パブリック プロパティ HistoryVerboseLevel Gets or sets the amount of history logged during agent execution. (AgentCore から継承されています。)
パブリック プロパティ HRBcpBlocks インフラストラクチャです。Gets or sets the HR bulk copy program blocks.
パブリック プロパティ HRBcpBlockSize インフラストラクチャです。Gets or sets the HR bulk copy program block size.
パブリック プロパティ HRBcpDynamicBlocks インフラストラクチャです。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. (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 インフラストラクチャです。Gets or sets the one time dynamic snapshot.
パブリック プロパティ Output Gets or sets the name and path of the agent output file. (AgentCore から継承されています。)
パブリック プロパティ OutputVerboseLevel Gets or sets the level of detail of information written to the agent output file. (AgentCore から継承されています。)
パブリック プロパティ PacketSize インフラストラクチャです。Gets or sets the packet size associated with the agent. (AgentCore から継承されています。)
パブリック プロパティ ProfileName Gets or sets an agent profile to use when running the agent. (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 インフラストラクチャです。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. (AgentCore から継承されています。)
パブリック プロパティ PublisherLogin Gets or sets the login name used when connecting to the Publisher using SQL Server Authentication.
パブリック プロパティ PublisherNetworkLibrary インフラストラクチャです。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. (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 インフラストラクチャです。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 インフラストラクチャです。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.

先頭に戻る

メソッド

  名前 説明
パブリック メソッド Abort Aborts the process of the current instance. (AgentCore から継承されています。)
パブリック メソッド CreateObjRef セキュリティ クリティカル。 (MarshalByRefObject から継承されています。)
パブリック メソッド Equals (Object から継承されています。)
パブリック メソッド GenerateSnapshot Starts the Snapshot Agent to generate the snapshot.
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetLifetimeService セキュリティ クリティカル。 (MarshalByRefObject から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド InitializeLifetimeService セキュリティ クリティカル。 (MarshalByRefObject から継承されています。)
パブリック メソッド ResetParametersToDefault Resets the value of the parameters to default. (AgentCore から継承されています。)
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

イベント

  名前 説明
パブリック イベント ComStatus インフラストラクチャです。Occurs when a running agent returns synchronization Com status information. (AgentCore から継承されています。)
パブリック イベント Status Occurs when a running agent returns status information. (AgentCore から継承されています。)

先頭に戻る

明示的なインターフェイスの実装

  名前 説明
明示的なインターフェイスの実装プライベート メソッド 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

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

Microsoft.SqlServer.Replication 名前空間

その他の技術情報

初期スナップショットを作成する方法 (RMO プログラミング)

パラメーター化されたフィルターを使用してマージ パブリケーションのスナップショットを作成する方法 (RMO プログラミング)

レプリケーション スナップショット エージェント