次の方法で共有


TransPullSubscription クラス

トランザクション パブリケーションへのプル サブスクリプションを表します。

継承階層

System. . :: . .Object
  Microsoft.SqlServer.Replication. . :: . .ReplicationObject
    Microsoft.SqlServer.Replication. . :: . .PullSubscription
      Microsoft.SqlServer.Replication..::..TransPullSubscription

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

構文

'宣言
Public NotInheritable Class TransPullSubscription _
    Inherits PullSubscription
'使用
Dim instance As TransPullSubscription
public sealed class TransPullSubscription : PullSubscription
public ref class TransPullSubscription sealed : public PullSubscription
[<SealedAttribute>]
type TransPullSubscription =  
    class
        inherit PullSubscription
    end
public final class TransPullSubscription extends PullSubscription

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

コンストラクター

  名前 説明
パブリック メソッド TransPullSubscription() () () () TransPullSubscription クラスの新しいインスタンスを作成します。
パブリック メソッド TransPullSubscription(String, String, String, String, ServerConnection) プル サブスクリプションを定義するプロパティを使用して TransPullSubscription クラスの新しいインスタンスを作成します。
パブリック メソッド TransPullSubscription(String, String, String, String, ServerConnection, Boolean) プル サブスクリプション、およびサブスクリプションのエージェント ジョブを作成するかどうかを定義するプロパティを使用して、TransPullSubscription クラスの新しいインスタンスを作成します。

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ AgentJobId サブスクリプションの同期に使用されるエージェント ジョブの ID を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ AgentOffload エージェント ジョブの作成時と異なるコンピュータ上で同期エージェントを実行するかどうかを取得します。値の設定も可能です。このプロパティは、Microsoft SQL Server 2005 以降を実行しているディストリビュータではサポートされなくなりました。 (PullSubscription から継承されています。)
パブリック プロパティ AgentOffloadServer リモート エージェントのアクティブ化を使用するとき、エージェントが実行されるリモート コンピュータの名前を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ AgentSchedule サブスクリプションの同期に使用されるエージェント ジョブのスケジュールを取得します。 (PullSubscription から継承されています。)
パブリック プロパティ AltSnapshotFolder ディストリビュータ上の既定のスナップショットの場所を使用しない場合、パブリケーション スナップショット ファイルの場所を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ Attributes サブスクリプションによってサポートされるトランザクション パブリケーションの属性を取得します。値の設定も可能です。
パブリック プロパティ CachePropertyChanges レプリケーション プロパティに加えられた変更をキャッシュするか、またはすぐに適用するかを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ ConnectionContext Microsoft SQL Server のインスタンスへの接続を取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ CreateSyncAgentByDefault レプリケーション エージェントを起動してサブスクリプションを同期するエージェント ジョブが、サブスクリプションの作成時に作成されるかどうかを取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ DatabaseName サブスクリプション データベースの名前を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ Description プル サブスクリプションの説明テキストを取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ DistributorName ディストリビュータであり、サブスクリプションがサブスクライブするパブリケーションをディストリビュートしている Microsoft SQL Server のインスタンスを取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ DistributorSecurity ディストリビュータへの接続に使用されるセキュリティ コンテキストを取得します。 (PullSubscription から継承されています。)
パブリック プロパティ DtsPackageLocation 変換可能なサブスクリプションで使用されるデータ変換サービス (DTS) パッケージの場所を取得します。値の設定も可能です。
パブリック プロパティ DtsPackageName 変換可能なサブスクリプションで使用されるデータ変換サービス (DTS) パッケージの名前を取得します。値の設定も可能です。
パブリック プロパティ DtsPackagePassword 変換可能なサブスクリプションで使用されるパスワードを設定します。
パブリック プロパティ EnabledForSynchronizationManager Windows 同期マネージャを使用してサブスクリプションを同期できるかどうかを指定します。 (PullSubscription から継承されています。)
パブリック プロパティ FtpAddress インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ FtpLogin インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ FtpPassword インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ FtpPort インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ IsExistingObject サーバーにオブジェクトが存在するかどうかを取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ LastAgentDateTime サブスクリプションの同期が最後にとられた日付と時刻を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ LastAgentStatus サブスクリプションの最新の同期状態を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ LastAgentSummary サブスクリプションの最新の同期の結果の概要を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ LastSummaryDateTime 前回の同期が完了した日付と時刻を取得します。
パブリック プロパティ Name プル サブスクリプション用に生成された名前を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ PublicationDBName パブリケーション データベースの名前を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ PublicationName サブスクリプションがサブスクライブするパブリケーションの名前を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ PublisherName パブリッシャの名前を取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ PublisherSecurity パブリッシャに接続するときに同期エージェントで使用されるセキュリティ コンテキストを取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ SecureFtpPassword インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ SqlServerName このオブジェクトの接続先となる Microsoft SQL Server インスタンスの名前を取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ SubscriberSecurity サブスクライバに接続するときに同期エージェントで使用されるセキュリティ コンテキストを取得します。 (PullSubscription から継承されています。)
パブリック プロパティ SubscriberType サブスクリプションの更新動作を取得します。値の設定も可能です。
パブリック プロパティ SubscriptionId サブスクリプション ID 値を取得します。 (PullSubscription から継承されています。)
パブリック プロパティ SubscriptionType プッシュ サブスクリプション、プル サブスクリプション、または匿名サブスクリプションに対して、サブスクリプションを登録するかどうかを取得します。 (PullSubscription から継承されています。)
パブリック プロパティ SynchronizationAgent サブスクリプションの同期に使用できるディストリビューション エージェントのインスタンスを表すオブジェクトを取得します。
パブリック プロパティ SynchronizationAgentProcessSecurity Microsoft Windows アカウントを指定する場合に使用されるセキュリティ コンテキストを取得します。このアカウントに基づいて、同期エージェント ジョブが実行され、サブスクリプションが同期されます。 (PullSubscription から継承されています。)
パブリック プロパティ Type インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック プロパティ UseFtp プル サブスクリプションの初期化に必要なスナップショット ファイルに、同期エージェントがファイル転送プロトコル (FTP) を使用してアクセスするかどうかを取得します。値の設定も可能です。 (PullSubscription から継承されています。)
パブリック プロパティ UserData ユーザーが独自のデータをオブジェクトにアタッチすることを許可するオブジェクト プロパティを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ WorkingDirectory ダウンロードされたスナップショット ファイルの一時的な格納と解凍に使用する、サブスクライバ上のディレクトリへのパスを取得します。値の設定も可能です。 (PullSubscription から継承されています。)

先頭に戻る

メソッド

  名前 説明
プロテクト メソッド CheckValidCreation インフラストラクチャです。 (ReplicationObject から継承されています。)
プロテクト メソッド CheckValidDefinition インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック メソッド CommitPropertyChanges キャッシュされているすべてのプロパティ変更ステートメントを、Microsoft SQL Server のインスタンスに送信します。 (ReplicationObject から継承されています。)
パブリック メソッド Create サブスクライバ上にプル サブスクリプションを作成します。 (PullSubscription から継承されています。)
プロテクト メソッド CustomEnabledForSyncMgr インフラストラクチャです。 (PullSubscription から継承されています。)
パブリック メソッド Decouple 参照先のレプリケーション オブジェクトをサーバーから切断します。 (ReplicationObject から継承されています。)
パブリック メソッド Equals (Object から継承されています。)
プロテクト メソッド Finalize (Object から継承されています。)
プロテクト メソッド GetChangeCommand インフラストラクチャです。 (ReplicationObject から継承されています。)
プロテクト メソッド GetCreateCommand インフラストラクチャです。 (ReplicationObject から継承されています。)
プロテクト メソッド GetDropCommand インフラストラクチャです。 (ReplicationObject から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
プロテクト メソッド InitMemberVariables インフラストラクチャです。 (PullSubscription から継承されています。)
プロテクト メソッド InternalRefresh インフラストラクチャです。 (ReplicationObject から継承されています。)
パブリック メソッド LastAgentJobHistoryInfo 最後に実行された同期エージェント ジョブに関する情報を返します。 (PullSubscription から継承されています。)
パブリック メソッド Load サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド LoadProperties サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
プロテクト メソッド MemberwiseClone (Object から継承されています。)
パブリック メソッド Refresh オブジェクトのプロパティを再度読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド Reinitialize プル サブスクリプションに再初期化のマークを付けます。
パブリック メソッド Remove プル サブスクリプションを削除します。 (PullSubscription から継承されています。)
パブリック メソッド Script PullSubscription オブジェクトの現在のプロパティ設定に基づいてプル サブスクリプションを作成または削除する Transact-SQL スクリプトを返します。 (PullSubscription から継承されています。)
パブリック メソッド StopSynchronizationJob 現在サブスクリプションの同期を実行しているディストリビューション エージェント ジョブの停止を試みます。 (PullSubscription. . :: . .StopSynchronizationJob() () () () をオーバーライドします。)
パブリック メソッド SynchronizeWithJob エージェント ジョブを開始してサブスクリプションの同期をとります。 (PullSubscription. . :: . .SynchronizeWithJob() () () () をオーバーライドします。)
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

説明

プル サブスクリプションの場合、ディストリビューション エージェントは、サブスクライバ側で実行されます。

この名前空間、クラス、またはメンバは、.NET Framework 2.0 でのみサポートされています。

スレッド セーフ

この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

使用例

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

            //Create connections to the Publisher and Subscriber.
            ServerConnection subscriberConn = new ServerConnection(subscriberName);
            ServerConnection publisherConn = new ServerConnection(publisherName);

            // Create the objects that we need.
            TransPublication publication;
            TransPullSubscription subscription;

            try
            {
                // Connect to the Publisher and Subscriber.
                subscriberConn.Connect();
                publisherConn.Connect();

                // Ensure that the publication exists and that 
                // it supports pull subscriptions.
                publication = new TransPublication();
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;
                publication.ConnectionContext = publisherConn;

                if (publication.IsExistingObject)
                {
                    if ((publication.Attributes & PublicationAttributes.AllowPull) == 0)
                    {
                        publication.Attributes |= PublicationAttributes.AllowPull;
                    }

                    // Define the pull subscription.
                    subscription = new TransPullSubscription();
                    subscription.ConnectionContext = subscriberConn;
                    subscription.PublisherName = publisherName;
                    subscription.PublicationName = publicationName;
                    subscription.PublicationDBName = publicationDbName;
                    subscription.DatabaseName = subscriptionDbName;

                    // Specify the Windows login credentials for the Distribution Agent job.
                    subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
                    subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

                    // Make sure that the agent job for the subscription is created.
                    subscription.CreateSyncAgentByDefault = true;

                    // By default, subscriptions to transactional publications are synchronized 
                    // continuously, but in this case we only want to synchronize on demand.
                    subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;

                    // Create the pull subscription at the Subscriber.
                    subscription.Create();

                    Boolean registered = false;

                    // Verify that the subscription is not already registered.
                    foreach (TransSubscription existing
                        in publication.EnumSubscriptions())
                    {
                        if (existing.SubscriberName == subscriberName
                            && existing.SubscriptionDBName == subscriptionDbName)
                        {
                            registered = true;
                        }
                    }
                    if (!registered)
                    {
                        // Register the subscription with the Publisher.
                        publication.MakePullSubscriptionWellKnown(
                            subscriberName, subscriptionDbName,
                            SubscriptionSyncType.Automatic,
                            TransSubscriberType.ReadOnly);
                    }
                }
                else
                {
                    // Do something here if the publication does not exist.
                    throw new ApplicationException(String.Format(
                        "The publication '{0}' does not exist on {1}.",
                        publicationName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Implement the appropriate error handling here.
                throw new ApplicationException(String.Format(
                    "The subscription to {0} could not be created.", publicationName), ex);
            }
            finally
            {
                subscriberConn.Disconnect();
                publisherConn.Disconnect();
            }
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2008R2Replica"
Dim publicationDbName As String = "AdventureWorks2008R2"

'Create connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransPullSubscription

Try
    ' Connect to the Publisher and Subscriber.
    subscriberConn.Connect()
    publisherConn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports pull subscriptions.
    publication = New TransPublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = publisherConn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPull) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPull
        End If

        ' Define the pull subscription.
        subscription = New TransPullSubscription()
        subscription.ConnectionContext = subscriberConn
        subscription.PublisherName = publisherName
        subscription.PublicationName = publicationName
        subscription.PublicationDBName = publicationDbName
        subscription.DatabaseName = subscriptionDbName
        subscription.Description = "Pull subscription to " + publicationDbName _
        + " on " + subscriberName + "."

        ' Specify the Windows login credentials for the Distribution Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' Make sure that the agent job for the subscription is created.
        subscription.CreateSyncAgentByDefault = True

        ' By default, subscriptions to transactional publications are synchronized 
        ' continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand

        ' Create the pull subscription at the Subscriber.
        subscription.Create()

        Dim registered As Boolean = False

        ' Verify that the subscription is not already registered.
        For Each existing As TransSubscription In publication.EnumSubscriptions()
            If existing.SubscriberName = subscriberName And _
                existing.SubscriptionDBName = subscriptionDbName Then
                registered = True
            End If
        Next existing
        If Not registered Then
            ' Register the subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown( _
             subscriberName, subscriptionDbName, _
             SubscriptionSyncType.Automatic, _
             TransSubscriberType.ReadOnly)
        End If
    Else
        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
        "The subscription to {0} could not be created.", publicationName), ex)
Finally
    subscriberConn.Disconnect()
    publisherConn.Disconnect()
End Try

スレッド セーフ

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