次の方法で共有


TransSynchronizationAgent クラス

レプリケーション ディストリビューション エージェントの機能を提供します。

継承階層

System. . :: . .Object
  System. . :: . .MarshalByRefObject
    Microsoft.SqlServer.Replication..::..TransSynchronizationAgent

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

構文

'宣言
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<ComVisibleAttribute(True)> _
<GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")> _
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public Class TransSynchronizationAgent _
    Inherits MarshalByRefObject _
    Implements IDisposable, ITransSynchronizationAgent
'使用
Dim instance As TransSynchronizationAgent
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[ComVisibleAttribute(true)]
[GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")]
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class TransSynchronizationAgent : MarshalByRefObject, 
    IDisposable, ITransSynchronizationAgent
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
[ComVisibleAttribute(true)]
[GuidAttribute(L"adeda98a-bdfc-4029-b6fb-991d6b468395")]
[PermissionSetAttribute(SecurityAction::Demand, Name = L"FullTrust")]
public ref class TransSynchronizationAgent : public MarshalByRefObject, 
    IDisposable, ITransSynchronizationAgent
[<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)>]
[<ComVisibleAttribute(true)>]
[<GuidAttribute("adeda98a-bdfc-4029-b6fb-991d6b468395")>]
[<PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")>]
type TransSynchronizationAgent =  
    class
        inherit MarshalByRefObject
        interface IDisposable
        interface ITransSynchronizationAgent
    end
public class TransSynchronizationAgent extends MarshalByRefObject implements IDisposable, ITransSynchronizationAgent

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

コンストラクター

  名前 説明
パブリック メソッド TransSynchronizationAgent TransSynchronizationAgent クラスのインスタンスを作成します。

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ AltSnapshotFolder サブスクリプションの代替スナップショット フォルダを取得します。値の設定も可能です。
パブリック プロパティ ComErrorCollection レプリケーション エージェントで発生したエラーのコレクションを取得します。
パブリック プロパティ Distributor サブスクリプションのディストリビュータとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。
パブリック プロパティ DistributorAddress DistributorNetwork プロパティが指定されている場合にディストリビュータへの接続に使用されるネットワーク アドレスを取得します。値の設定も可能です。
パブリック プロパティ DistributorEncryptedPassword インフラストラクチャです。
パブリック プロパティ DistributorLogin SQL Server 認証を使用してディストリビュータに接続するときに使用されるログイン名を取得します。値の設定も可能です。
パブリック プロパティ DistributorNetwork ディストリビュータに接続するときに使用されるクライアントの Net-Library を取得します。値の設定も可能です。
パブリック プロパティ DistributorPassword SQL Server 認証を使用してディストリビュータに接続するときに使用されるパスワードを設定します。
パブリック プロパティ DistributorSecurityMode ディストリビュータに接続するときに使用されるセキュリティ モードを取得します。値の設定も可能です。
パブリック プロパティ DtsPackageFileName コマンド行セットをサブスクライバに適用する前に変換するための Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの名前とパスを取得します。値の設定も可能です。
パブリック プロパティ DtsPackagePassword DtsPackageFileName プロパティで指定された Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージへのアクセスに使用される所有者パスワードを取得します。値の設定も可能です。
パブリック プロパティ FileTransferType 初期スナップショット ファイルをサブスクライバに転送する方法を取得します。値の設定も可能です。
パブリック プロパティ HostName インフラストラクチャです。
パブリック プロパティ LastUpdatedTime レプリケーション エージェントが最後にサブスクリプションの同期をとったときのタイムスタンプを取得します。
パブリック プロパティ LoginTimeout 接続が確立されるまで待機する最大秒数を取得します。値の設定も可能です。
パブリック プロパティ MaxDeliveredTransactions 1 回のエージェント実行でサブスクライバに適用されるトランザクションの最大数を取得します。値の設定も可能です。
パブリック プロパティ Output エージェントの出力ファイルの名前とパスを取得します。値の設定も可能です。
パブリック プロパティ OutputVerboseLevel ディストリビューション エージェントによってエージェントの出力ファイルに記録される情報の量を取得します。値の設定も可能です。
パブリック プロパティ ProfileName エージェントが使用するプロファイルの名前を取得します。値の設定も可能です。
パブリック プロパティ Publication パブリケーションの名前を取得します。値の設定も可能です。
パブリック プロパティ Publisher サブスクリプションのパブリッシャとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。
パブリック プロパティ PublisherDatabase パブリケーション データベースの名前を取得します。値の設定も可能です。
パブリック プロパティ QueryTimeout 内部クエリがタイムアウトになるまでの秒数を取得します。値の設定も可能です。
パブリック プロパティ SecureDistributorEncryptedPassword インフラストラクチャです。
パブリック プロパティ SecureSubscriberEncryptedPassword インフラストラクチャです。
パブリック プロパティ SkipErrors このエージェントによってスキップされるエラー番号のコロン区切りの一覧を取得します。値の設定も可能です。
パブリック プロパティ Subscriber サブスクライバとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。
パブリック プロパティ SubscriberDatabase サブスクリプション データベースの名前を取得します。値の設定も可能です。
パブリック プロパティ SubscriberDatabasePath インフラストラクチャです。
パブリック プロパティ SubscriberDataSourceType サブスクライバとして使用されるデータ ソースの種類を取得します。値の設定も可能です。
パブリック プロパティ SubscriberEncryptedPassword インフラストラクチャです。
パブリック プロパティ SubscriberLogin SQL Server 認証を使用してサブスクライバに接続するときに使用されるログイン名を取得します。値の設定も可能です。
パブリック プロパティ SubscriberPassword SQL Server 認証を使用してサブスクライバに接続するときに使用されるパスワードを設定します。
パブリック プロパティ SubscriberSecurityMode パブリッシャに接続するときに使用されるセキュリティ モードを取得します。値の設定も可能です。
パブリック プロパティ SubscriptionType サブスクリプションがプッシュ サブスクリプションかプル サブスクリプションかを取得します。値の設定も可能です。
パブリック プロパティ UndeliveredCommands インフラストラクチャです。
パブリック プロパティ UndeliveredTransactions インフラストラクチャです。
パブリック プロパティ UseInProcLoader サブスクライバでスナップショット ファイルを適用するときに BULK INSERT コマンドを使用するかどうかを取得します。値の設定も可能です。
パブリック プロパティ WorkingDirectory ファイル転送プロトコル (FTP) を使用する場合にスナップショット ファイルにアクセスできる作業ディレクトリを取得します。値の設定も可能です。

先頭に戻る

メソッド

  名前 説明
パブリック メソッド Abort インフラストラクチャです。
パブリック メソッド CreateObjRef (MarshalByRefObject から継承されています。)
パブリック メソッド Dispose() () () () インフラストラクチャです。
プロテクト メソッド Dispose(Boolean)
パブリック メソッド Equals (Object から継承されています。)
プロテクト メソッド Finalize インフラストラクチャです。 (Object. . :: . .Finalize() () () () をオーバーライドします。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetLifetimeService (MarshalByRefObject から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド InitializeLifetimeService (MarshalByRefObject から継承されています。)
パブリック メソッド IsSnapshotRequired ディストリビュータとサブスクライバに接続して、エージェントの次回の同期の際に新しいスナップショットが適用されるかどうかを示します。
プロテクト メソッド MemberwiseClone() () () () (Object から継承されています。)
プロテクト メソッド MemberwiseClone(Boolean) (MarshalByRefObject から継承されています。)
パブリック メソッド Synchronize ディストリビューション エージェントを開始してサブスクリプションを同期します。
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

イベント

  名前 説明
パブリック イベント ComStatus インフラストラクチャです。
パブリック イベント Status ディストリビューション エージェントが同期の状態情報を返すと発生します。

先頭に戻る

説明

TransSynchronizationAgent クラスでは、プログラムでサブスクリプションをトランザクション パブリケーションやスナップショット パブリケーションに同期させるための機能がサポートされています。

使用例

次の例では、プッシュ サブスクリプションの同期をとるために、SynchronizationAgent プロパティからアクセスされる TransSynchronizationAgent クラスのインスタンスで Synchronize メソッドを呼び出しています。

          // Define the server, publication, and database names.
            string subscriberName = subscriberInstance;
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string subscriptionDbName = "AdventureWorks2008R2Replica";
            string publicationDbName = "AdventureWorks2008R2";

            // Create a connection to the Publisher.
            ServerConnection conn = new ServerConnection(publisherName);

            TransSubscription subscription;

            try
            {
                // Connect to the Publisher.
                conn.Connect();

                // Define the push subscription.
                subscription = new TransSubscription();
                subscription.ConnectionContext = conn;
                subscription.DatabaseName = publicationDbName;
                subscription.PublicationName = publicationName;
                subscription.SubscriptionDBName = subscriptionDbName;
                subscription.SubscriberName = subscriberName;

                // If the push subscription exists, start the synchronization.
                if (subscription.LoadProperties())
                {
                    // Check that we have enough metadata to start the agent.
                    if (subscription.SubscriberSecurity != null)
                    {
                        // Synchronously start the Distribution Agent for the subscription.
                        subscription.SynchronizationAgent.Synchronize();
                    }
                    else
                    {
                        throw new ApplicationException("There is insufficent metadata to " +
                            "synchronize the subscription. Recreate the subscription with " +
                            "the agent job or supply the required agent properties at run time.");
                    }
                }
                else
                {
                    // Do something here if the push subscription does not exist.
                    throw new ApplicationException(String.Format(
                        "The subscription to '{0}' does not exist on {1}",
                        publicationName, subscriberName));
                }
            }
            catch (Exception ex)
            {
                // Implement appropriate error handling here.
                throw new ApplicationException("The subscription could not be synchronized.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the server, publication, and database names.
Dim subscriberName As String = subscriberInstance
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim subscriptionDbName As String = "AdventureWorks2008R2Replica"
Dim publicationDbName As String = "AdventureWorks2008R2"

' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

Dim subscription As TransSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Define the push subscription.
    subscription = New TransSubscription()
    subscription.ConnectionContext = conn
    subscription.DatabaseName = publicationDbName
    subscription.PublicationName = publicationName
    subscription.SubscriptionDBName = subscriptionDbName
    subscription.SubscriberName = subscriberName

    ' If the push subscription exists, start the synchronization.
    If subscription.LoadProperties() Then
        ' Check that we have enough metadata to start the agent.
        If Not subscription.SubscriberSecurity Is Nothing Then

            ' Synchronously start the Distribution Agent for the subscription.
            subscription.SynchronizationAgent.Synchronize()
        Else
            Throw New ApplicationException("There is insufficent metadata to " + _
             "synchronize the subscription. Recreate the subscription with " + _
             "the agent job or supply the required agent properties at run time.")
        End If
    Else
        ' Do something here if the push subscription does not exist.
        Throw New ApplicationException(String.Format( _
         "The subscription to '{0}' does not exist on {1}", _
         publicationName, subscriberName))
    End If
Catch ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("The subscription could not be synchronized.", ex)
Finally
    conn.Disconnect()
End Try

スレッド セーフ

TransSynchronizationAgent クラスは、マルチスレッド アパートメントをサポートしていません。アプリケーションのメイン エントリ ポイントであるメソッドで [STAThread] 属性を宣言することにより、シングル スレッド アパートメントを指定できます。これは、Microsoft Visual Studio を使用して作成された Microsoft Windows ベースのアプリケーションの既定値です。