次の方法で共有


TransSubscription クラス

トランザクション パブリケーションまたはスナップショット パブリケーションへのプッシュ サブスクリプションを表します。

継承階層

System.Object
  Microsoft.SqlServer.Replication.ReplicationObject
    Microsoft.SqlServer.Replication.Subscription
      Microsoft.SqlServer.Replication.TransSubscription

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

構文

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

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

コンストラクター

  名前 説明
パブリック メソッド TransSubscription() TransSubscription クラスの新しいインスタンスを作成します。
パブリック メソッド TransSubscription(String, String, String, String, ServerConnection) 指定したパブリケーション、データベース、サブスクライバー、サブスクライバー データベース、および、Microsoft SQL Server のインスタンスへの指定した接続を使用して、TransSubscription クラスの新しいインスタンスを作成します。

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ AgentJobId サブスクリプションの同期に使用されるエージェント ジョブの ID を取得します。 (Subscription から継承されています。)
パブリック プロパティ AgentOffload エージェント ジョブの作成時と異なるコンピューター上で同期エージェントを実行するかどうかを取得します。値の設定も可能です。このプロパティは、Microsoft SQL Server 2005 以降を実行しているディストリビューターではサポートされなくなりました。 (Subscription から継承されています。)
パブリック プロパティ AgentOffloadServer リモート エージェントのアクティブ化を使用するとき、エージェントが実行されるリモート コンピューターの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ AgentSchedule サブスクリプションの同期に使用されるエージェント ジョブのスケジュールを取得します。 (Subscription から継承されています。)
パブリック プロパティ BackupInformation バックアップからサブスクリプションを初期化するために必要な情報を取得します。値の設定も可能です。
パブリック プロパティ CachePropertyChanges レプリケーション プロパティに加えられた変更をキャッシュするか、またはすぐに適用するかを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ ConnectionContext Microsoft SQL Server のインスタンスへの接続を取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ CreateSyncAgentByDefault サブスクリプションの同期に使用されるエージェント ジョブが既定で作成されるかどうかを取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ DatabaseName パブリケーション データベースの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ DtsPackageLocation Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの場所を取得します。値の設定も可能です。
パブリック プロパティ DtsPackageName サブスクライバーで適用された Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの名前を取得します。値の設定も可能です。
パブリック プロパティ DtsPackagePassword Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの実行に使用するパスワードを設定します。
パブリック プロパティ EnabledForSynchronizationManager Microsoft Windows 同期マネージャーを使用してサブスクリプションを同期できるかどうかを指定します。 (Subscription から継承されています。)
パブリック プロパティ FullSubscription インフラストラクチャです。サブスクリプションがいっぱいかどうかを示す値を取得します。
パブリック プロパティ IsExistingObject サーバーにオブジェクトが存在するかどうかを取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ LoopBackDetection ディストリビューション エージェントがサブスクライバーで発生したトランザクションをサブスクライバーに戻すかどうかを取得します。値の設定も可能です。
パブリック プロパティ Name 既存のサブスクリプションに割り当てられている名前を取得します。 (Subscription から継承されています。)
パブリック プロパティ PublicationName サブスクリプションがサブスクライブするパブリケーションの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ PublisherName サブスクリプションが SQL Server 以外のパブリッシャーに属する場合に、パブリッシャーの名前を取得します。値の設定も可能です。
パブリック プロパティ SecureDtsPackagePassword Microsoft SQL Server 2000 データ変換サービス (DTS) パッケージの実行に使用するパスワードを SecureString オブジェクトとして設定します。
パブリック プロパティ SqlServerName このオブジェクトの接続先となる Microsoft SQL Server インスタンスの名前を取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ Status サブスクリプションの状態を取得します。 (Subscription から継承されています。)
パブリック プロパティ SubscriberCatalog SQL Server 以外のサブスクライバーの OLE DB プロバイダーに接続する際に使用するカタログを取得します。値の設定も可能です。
パブリック プロパティ SubscriberDatasource SQL Server 以外のサブスクライバーの OLE DB プロバイダーが理解できるデータ ソースの名前です。
パブリック プロパティ SubscriberDatasourceType SQL Server 以外のサブスクライバーであるデータ ソースの種類を識別します。
パブリック プロパティ SubscriberLocation SQL Server 以外のサブスクライバーの OLE DB プロバイダーが理解できるデータベースの場所です。
パブリック プロパティ SubscriberName サブスクライバーとして動作している Microsoft SQL Server のインスタンスの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ SubscriberProvider SQL Server 以外のサブスクライバーの OLE DB プロバイダーの登録に使用する一意のプログラム識別子 (PROGID) です。
パブリック プロパティ SubscriberProviderString SQL Server 以外のサブスクライバーのデータ ソースに接続するのに使用される OLE DB プロバイダー固有の接続文字列です。
パブリック プロパティ SubscriberSecurity サブスクライバーへの接続に使用されるセキュリティ コンテキストを取得します。 (Subscription から継承されています。)
パブリック プロパティ SubscriberType サブスクライバーでのデータ変更の更新動作を取得します。値の設定も可能です。
パブリック プロパティ SubscriptionDBName レプリケートされたデータを受信するサブスクライバーのデータベースの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ SubscriptionLSN サブスクリプションのログ シーケンス番号を取得または設定します。
パブリック プロパティ SubscriptionType プッシュ サブスクリプションまたはプル サブスクリプションに対して、サブスクリプションを登録するかどうかを取得します。 (Subscription から継承されています。)
パブリック プロパティ SynchronizationAgent サブスクリプションの同期に使用できる TransSynchronizationAgent クラスのインスタンスを取得します。
パブリック プロパティ SynchronizationAgentName サブスクリプションの同期のために作成されるエージェント ジョブの名前を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ SynchronizationAgentProcessSecurity Microsoft Windows アカウントを指定する場合に使用されるセキュリティ コンテキストを取得します。このアカウントに基づいて、同期エージェント ジョブが実行され、サブスクリプションが同期されます。 (Subscription から継承されています。)
パブリック プロパティ SyncType サブスクリプションを初期化する方法を取得します。値の設定も可能です。 (Subscription から継承されています。)
パブリック プロパティ UserData ユーザーが独自のデータをオブジェクトにアタッチすることを許可するオブジェクト プロパティを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)

先頭に戻る

メソッド

  名前 説明
パブリック メソッド CommitPropertyChanges キャッシュされているすべてのプロパティ変更ステートメントを、Microsoft SQL Server のインスタンスに送信します。 (ReplicationObject から継承されています。)
パブリック メソッド Create パブリッシャー側でサブスクリプション登録を作成します。 (Subscription から継承されています。)
パブリック メソッド Decouple 参照先のレプリケーション オブジェクトをサーバーから切断します。 (ReplicationObject から継承されています。)
パブリック メソッド Equals (Object から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド Load サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド LoadProperties サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド Refresh オブジェクトのプロパティを再度読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド Reinitialize() サブスクリプションを同期するために、次回ディストリビューション エージェントを実行するときに再初期化されるようにサブスクリプションをマークします。
パブリック メソッド Reinitialize(Boolean) サブスクリプションを再初期化します。
パブリック メソッド Remove パブリッシャーでサブスクリプション登録を削除し、プッシュ サブスクリプション用のサブスクライバーでレプリケーション オブジェクトを削除します。 (Subscription から継承されています。)
パブリック メソッド Script サブスクリプションの作成や削除に使用できる Transact-SQL スクリプトを返します。 (Subscription から継承されています。)
パブリック メソッド StopSynchronizationJob 現在サブスクリプションの同期を実行しているディストリビューション エージェント ジョブの停止を試みます。
パブリック メソッド SynchronizeWithJob エージェント ジョブを開始してサブスクリプションを同期します。
パブリック メソッド ToString (Object から継承されています。)

先頭に戻る

説明

パブリッシャーにリモート ディストリビューターを構成するとき、パラメーターに指定した値は、SynchronizationAgentProcessSecurity も含めてすべてプレーンテキストとしてディストリビューターに送信されます。 Create メソッドを呼び出す前に、パブリッシャーとリモート ディストリビューター間の接続を暗号化する必要があります。 詳細については、「SQL Server への接続の暗号化」を参照してください。

サブスクリプションが SQL Server 以外のパブリッシャーに属している場合、ConnectionContext プロパティはパブリッシャーではなくディストリビューターに設定され、DatabaseName プロパティはパブリケーション データベースではなくディストリビューション データベースに設定され、PublisherName プロパティは SQL Server 以外のパブリッシャーの名前に設定されます。

スレッド セーフ

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

使用例

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

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

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

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

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

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

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

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

                    // 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 push subscription.
                    subscription.Create();
                }
                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
            {
                conn.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 = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

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

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

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

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

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

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

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

        ' 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 push subscription.
        subscription.Create()
    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
    conn.Disconnect()
End Try

スレッド セーフ

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

関連項目

参照

Microsoft.SqlServer.Replication 名前空間

その他の技術情報

プッシュ サブスクリプションを作成する方法 (RMO プログラミング)