TransPublication クラス

トランザクション パブリケーションを表します。

継承階層

System.Object
  Microsoft.SqlServer.Replication.ReplicationObject
    Microsoft.SqlServer.Replication.Publication
      Microsoft.SqlServer.Replication.TransPublication

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

構文

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

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

コンストラクター

  名前 説明
パブリック メソッド TransPublication() TransPublication クラスの新しいインスタンスを作成します。
パブリック メソッド TransPublication(String, String, ServerConnection) 必須プロパティを使用して TransPublication クラスの新しいインスタンスを作成します。
パブリック メソッド TransPublication(String, String, ServerConnection, Boolean) 必須プロパティを使用して TransPublication クラスの新しいインスタンスを作成し、パブリケーションのスナップショット エージェント ジョブが作成されるかどうかを示します。

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ AltSnapshotFolder パブリケーションのスナップショット ファイルの代替場所を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ Attributes パブリケーション属性を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ CachePropertyChanges レプリケーション プロパティに加えられた変更をキャッシュするか、またはすぐに適用するかを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ CompatibilityLevel サブスクライバーで実行されている、参照対象パブリケーションでサポート可能な Microsoft SQL Server の最も古いバージョンを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ ConflictPolicy 更新サブスクリプションをサポートするパブリケーションの競合ポリシーを取得します。値の設定も可能です。
パブリック プロパティ ConflictRetention 競合するデータ行が競合テーブルに保持される日数を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ ConnectionContext Microsoft SQL Server のインスタンスへの接続を取得します。値の設定も可能です。 (ReplicationObject から継承されています。)
パブリック プロパティ ContinueOnConflict 競合の検出後にディストリビューション エージェントで変更の処理を続行するかどうかを示します。
パブリック プロパティ CreateSnapshotAgentByDefault パブリケーションが作成されるときにスナップショット エージェント ジョブが自動的に追加されるかどうかを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ DatabaseName パブリケーション データベースの名前を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ Description パブリケーションの説明テキストを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ FtpAddress ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバー コンピューターのアドレスを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ FtpLogin ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバーへの接続に使用するログインを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ FtpPassword ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバーへの接続に使用するログインのパスワードを設定します。 (Publication から継承されています。)
パブリック プロパティ FtpPort ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバー コンピューターのポートを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ FtpSubdirectory ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバー コンピューター上のサブディレクトリを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ HasSubscription パブリケーションに 1 つ以上のサブスクリプションがあるかどうかを取得します。 (Publication から継承されています。)
パブリック プロパティ IsExistingObject サーバーにオブジェクトが存在するかどうかを取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ Name パブリケーションの名前を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ PeerConflictDetectionEnabled SetPeerConflictDetection を使用してピア ツー ピア競合検出が有効化されたかどうかを取得します。
パブリック プロパティ PeerOriginatorID ピア ツー ピア トポロジ内のノードの ID を取得します。PeerConflictDetectionEnabled が true に設定されている場合、競合検出にこの ID が使用されます。
パブリック プロパティ PostSnapshotScript 初期スナップショットをサブスクライバーに適用した後で実行される Transact-SQL スクリプト ファイルの名前と完全なパスを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ PreSnapshotScript 初期スナップショットをサブスクライバーに適用する前に実行される Transact-SQL スクリプト ファイルの名前と完全なパスを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ PubId パブリケーションを一意に識別する値を取得します。 (Publication から継承されています。)
パブリック プロパティ PublisherName SQL Server 以外のパブリッシャーの名前を取得します。値の設定も可能です。
パブリック プロパティ QueueType キュー更新サブスクリプションを許可するパブリケーションに使用するキューの種類を取得します。値の設定も可能です。
パブリック プロパティ ReplicateDdl データ定義言語 (DDL) の変更をレプリケートするかどうかを決定する DDL レプリケーション オプションを取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ RetentionPeriod サブスクリプションがパブリケーションと同期されていない場合に、サブスクリプションの有効期限が切れるまでの時間を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ SecureFtpPassword ファイル転送プロトコル (FTP) を介してサブスクリプションを初期化できるパブリケーションの、FTP サーバーへの接続に使用するログインのパスワードを SecureString オブジェクトとして設定します。 (Publication から継承されています。)
パブリック プロパティ SnapshotAgentExists このパブリケーションの初期スナップショットを生成するための SQL Server エージェント ジョブが存在するかどうかを取得します。 (Publication から継承されています。)
パブリック プロパティ SnapshotAvailable このパブリケーションのスナップショット ファイルが使用できるかどうかを取得します。
パブリック プロパティ SnapshotGenerationAgentProcessSecurity スナップショット エージェント ジョブを実行する Windows アカウントを設定するオブジェクトを取得します。 (Publication から継承されています。)
パブリック プロパティ SnapshotGenerationAgentPublisherSecurity パブリッシャーに接続するためにスナップショット エージェントが使用するセキュリティ コンテキストを取得します。 (Publication から継承されています。)
パブリック プロパティ SnapshotJobId 現在のパブリケーションのスナップショット エージェント ジョブ ID を取得します。 (Publication から継承されています。)
パブリック プロパティ SnapshotMethod 初期スナップショットのデータ ファイル形式を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ SnapshotSchedule 現在のパブリケーションのスナップショット エージェントのスケジュールを設定するオブジェクトを取得します。 (Publication から継承されています。)
パブリック プロパティ SqlServerName このオブジェクトの接続先となる Microsoft SQL Server インスタンスの名前を取得します。 (ReplicationObject から継承されています。)
パブリック プロパティ Status パブリケーションの状態を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ TransArticles パブリケーション内のアーティクルを表します。
パブリック プロパティ TransSubscriptions パブリケーションへのサブスクリプションを表します。
パブリック プロパティ Type パブリケーションの種類を取得します。値の設定も可能です。 (Publication から継承されています。)
パブリック プロパティ UserData ユーザーが独自のデータをオブジェクトにアタッチすることを許可するオブジェクト プロパティを取得します。値の設定も可能です。 (ReplicationObject から継承されています。)

先頭に戻る

メソッド

  名前 説明
パブリック メソッド BrowseSnapshotFolder 特定のサブスクリプションに対してスナップショット ファイルが生成された場所の完全なパスを返します。
パブリック メソッド CommitPropertyChanges キャッシュされているすべてのプロパティ変更ステートメントを、Microsoft SQL Server のインスタンスに送信します。 (ReplicationObject から継承されています。)
パブリック メソッド CopySnapshot 目的のフォルダーに特定のサブスクリプションの最新のスナップショット ファイルをコピーします。
パブリック メソッド Create パブリケーションを作成します。 (Publication から継承されています。)
パブリック メソッド CreateSnapshotAgent パブリケーションの初期スナップショットを生成するために使用される SQL Server エージェント ジョブがまだ存在しない場合、このジョブを作成します。 (Publication から継承されています。)
パブリック メソッド Decouple 参照先のレプリケーション オブジェクトをサーバーから切断します。 (ReplicationObject から継承されています。)
パブリック メソッド EnumArticles パブリケーション内のアーティクルを返します。 (Publication から継承されています。)
パブリック メソッド EnumPublicationAccesses パブリッシャーに対するアクセス権を持つログインを返します。 (Publication から継承されています。)
パブリック メソッド EnumSubscriptions パブリケーションをサブスクライブするサブスクリプションを返します。 (Publication から継承されています。)
パブリック メソッド Equals (Object から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド GrantPublicationAccess パブリケーション アクセス リスト (PAL) に指定したログインを追加します。 (Publication から継承されています。)
パブリック メソッド Load サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド LoadProperties サーバーから既存のオブジェクトのプロパティを読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド MakePullSubscriptionWellKnown パブリッシャー側でプル サブスクリプションを登録します。
パブリック メソッド PostTracerToken 待機時間を確認する処理を開始するために、パブリッシャー ログにトレーサー トークンを送信します。
パブリック メソッド Refresh オブジェクトのプロパティを再度読み込みます。 (ReplicationObject から継承されています。)
パブリック メソッド RefreshSubscriptions パブリケーションに対するすべてのサブスクリプションを更新して、新たに追加されたアーティクルを含めます。
パブリック メソッド ReinitializeAllSubscriptions() パブリケーションに対するすべてのサブスクリプションに再初期化のマークを付けます。
パブリック メソッド ReinitializeAllSubscriptions(Boolean) 既存のスナップショットを無効にするオプションを指定して、パブリケーションに対するすべてのサブスクリプションに再初期化のマークを付けます。
パブリック メソッド Remove() 既存のパブリケーションを削除します。 (Publication から継承されています。)
パブリック メソッド Remove(Boolean) ディストリビューターにアクセスできない場合でも、既存のパブリケーションを削除します。 (Publication から継承されています。)
パブリック メソッド RemovePullSubscription パブリッシャー側のプル サブスクリプションの登録を削除します。
パブリック メソッド ReplicateUserDefinedScript ユーザー定義スクリプトの実行を、指定したパブリケーションのサブスクライバーにレプリケートします。 (Publication から継承されています。)
パブリック メソッド RevokePublicationAccess パブリケーション アクセス リスト (PAL) から指定したログインを削除します。 (Publication から継承されています。)
パブリック メソッド Script スクリプト オプションで指定したとおりにパブリケーションを再作成するために使用できる Transact-SQL スクリプトを生成します。 (Publication から継承されています。)
パブリック メソッド SetPeerConflictDetection ピア ツー ピア トポロジ内のノードの競合検出を有効または無効にします。
パブリック メソッド StartSnapshotGenerationAgentJob パブリケーションの初期スナップショットを生成するジョブを開始します。 (Publication から継承されています。)
パブリック メソッド StopSnapshotGenerationAgentJob 実行中のスナップショット エージェント ジョブの停止を試みます。 (Publication から継承されています。)
パブリック メソッド ToString (Object から継承されています。)
パブリック メソッド ValidatePublication すべてのサブスクリプションのインライン パブリケーション検証を呼び出します。
パブリック メソッド ValidateSubscriptions 指定されたサブスクリプションのインライン パブリケーション検証を呼び出します。

先頭に戻る

説明

スレッド セーフ

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

使用例

この例では、トランザクション パブリケーションを作成します。

          // Set the Publisher, publication database, and publication names.
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2012";
            string publisherName = publisherInstance;

            ReplicationDatabase publicationDb;
            TransPublication publication;

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


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

                // Enable the AdventureWorks2012 database for transactional publishing.
                publicationDb = new ReplicationDatabase(publicationDbName, conn);

                // If the database exists and is not already enabled, 
                // enable it for transactional publishing.
                if (publicationDb.LoadProperties())
                {
                    if (!publicationDb.EnabledTransPublishing)
                    {
                        publicationDb.EnabledTransPublishing = true;
                    }

                    // If the Log Reader Agent does not exist, create it.
                    if (!publicationDb.LogReaderAgentExists)
                    {
                        // Specify the Windows account under which the agent job runs.
                        // This account will be used for the local connection to the 
                        // Distributor and all agent connections that use Windows Authentication.
                        publicationDb.LogReaderAgentProcessSecurity.Login = winLogin;
                        publicationDb.LogReaderAgentProcessSecurity.Password = winPassword;

                        // Explicitly set authentication mode for the Publisher connection
                        // to the default value of Windows Authentication.
                        publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = true;

                        // Create the Log Reader Agent job.
                        publicationDb.CreateLogReaderAgent();
                    }
                }
                else
                {
                    throw new ApplicationException(String.Format(
                        "The {0} database does not exist at {1}.",
                        publicationDb, publisherName));
                }

                // Set the required properties for the transactional publication.
                publication = new TransPublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                // Specify a transactional publication (the default).
                publication.Type = PublicationType.Transactional;

                // Activate the publication so that we can add subscriptions.
                publication.Status = State.Active;

                // Enable push and pull subscriptions and independent Distribition Agents.
                publication.Attributes |= PublicationAttributes.AllowPull;
                publication.Attributes |= PublicationAttributes.AllowPush;
                publication.Attributes |= PublicationAttributes.IndependentAgent;

                // Specify the Windows account under which the Snapshot Agent job runs.
                // This account will be used for the local connection to the 
                // Distributor and all agent connections that use Windows Authentication.
                publication.SnapshotGenerationAgentProcessSecurity.Login = winLogin;
                publication.SnapshotGenerationAgentProcessSecurity.Password = winPassword;

                // Explicitly set the security mode for the Publisher connection
                // Windows Authentication (the default).
                publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = true;

                if (!publication.IsExistingObject)
                {
                    // Create the transactional publication.
                    publication.Create();

                    // Create a Snapshot Agent job for the publication.
                    publication.CreateSnapshotAgent();
                }
                else
                {
                    throw new ApplicationException(String.Format(
                        "The {0} publication already exists.", publicationName));
                }
            }

            catch (Exception ex)
            {
                // Implement custom application error handling here.
                throw new ApplicationException(String.Format(
                    "The publication {0} could not be created.", publicationName), ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Set the Publisher, publication database, and publication names.
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim publisherName As String = publisherInstance

Dim publicationDb As ReplicationDatabase
Dim publication As TransPublication

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

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

    ' Enable the AdventureWorks2012 database for transactional publishing.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)

    ' If the database exists and is not already enabled, 
    ' enable it for transactional publishing.
    If publicationDb.LoadProperties() Then
        If Not publicationDb.EnabledTransPublishing Then
            publicationDb.EnabledTransPublishing = True
        End If

        ' If the Log Reader Agent does not exist, create it.
        If Not publicationDb.LogReaderAgentExists Then
            ' Specify the Windows account under which the agent job runs.
            ' This account will be used for the local connection to the 
            ' Distributor and all agent connections that use Windows Authentication.
            publicationDb.LogReaderAgentProcessSecurity.Login = winLogin
            publicationDb.LogReaderAgentProcessSecurity.Password = winPassword

            ' Explicitly set authentication mode for the Publisher connection
            ' to the default value of Windows Authentication.
            publicationDb.LogReaderAgentPublisherSecurity.WindowsAuthentication = True

            ' Create the Log Reader Agent job.
            publicationDb.CreateLogReaderAgent()
        End If
    Else
        Throw New ApplicationException(String.Format( _
         "The {0} database does not exist at {1}.", _
         publicationDb, publisherName))
    End If

    ' Set the required properties for the transactional publication.
    publication = New TransPublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Specify a transactional publication (the default).
    publication.Type = PublicationType.Transactional

    'Enable push and pull subscriptions and independent Distribition Agents.
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.AllowPull
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.AllowPush
    publication.Attributes = _
    publication.Attributes Or PublicationAttributes.IndependentAgent

    ' Activate the publication so that we can add subscriptions.
    publication.Status = State.Active

    ' Specify the Windows account under which the Snapshot Agent job runs.
    ' This account will be used for the local connection to the 
    ' Distributor and all agent connections that use Windows Authentication.
    publication.SnapshotGenerationAgentProcessSecurity.Login = winLogin
    publication.SnapshotGenerationAgentProcessSecurity.Password = winPassword

    ' Explicitly set the security mode for the Publisher connection
    ' Windows Authentication (the default).
    publication.SnapshotGenerationAgentPublisherSecurity.WindowsAuthentication = True

    If Not publication.IsExistingObject Then
        ' Create the transactional publication.
        publication.Create()

        ' Create a Snapshot Agent job for the publication.
        publication.CreateSnapshotAgent()
    Else
        Throw New ApplicationException(String.Format( _
            "The {0} publication already exists.", publicationName))
    End If
Catch ex As Exception
    ' Implement custom application error handling here.
    Throw New ApplicationException(String.Format( _
        "The publication {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

この例では、トランザクション パブリケーションを削除します。

            // Define the Publisher, publication database, 
            // and publication names.
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2012";

            TransPublication publication;
            ReplicationDatabase publicationDb;

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

            try
            {
                conn.Connect();

                // Set the required properties for the transactional publication.
                publication = new TransPublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                // Delete the publication, if it exists and has no subscriptions.
                if (publication.LoadProperties() && !publication.HasSubscription)
                {
                    publication.Remove();
                }
                else
                {
                    // Do something here if the publication does not exist
                    // or has subscriptions.
                    throw new ApplicationException(String.Format(
                        "The publication {0} could not be deleted. " +
                        "Ensure that the publication exists and that all " +
                        "subscriptions have been deleted.",
                        publicationName, publisherName));
                }

                // If no other transactional publications exists,
                // disable publishing on the database.
                publicationDb = new ReplicationDatabase(publicationDbName, conn);
                if (publicationDb.LoadProperties())
                {
                    if (publicationDb.TransPublications.Count == 0)
                    {
                        publicationDb.EnabledTransPublishing = false;
                    }
                }
                else
                {
                    // Do something here if the database does not exist.
                    throw new ApplicationException(String.Format(
                        "The database {0} does not exist on {1}.",
                        publicationDbName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Implement application error handling here.
                throw new ApplicationException(String.Format(
                    "The publication {0} could not be deleted.",
                    publicationName), ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the Publisher, publication database, 
' and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"

Dim publication As TransPublication
Dim publicationDb As ReplicationDatabase

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

Try
    conn.Connect()

    ' Set the required properties for the transactional publication.
    publication = New TransPublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Delete the publication, if it exists and has no subscriptions.
    If publication.LoadProperties() And Not publication.HasSubscription Then
        publication.Remove()
    Else
        ' Do something here if the publication does not exist
        ' or has subscriptions.
        Throw New ApplicationException(String.Format( _
         "The publication {0} could not be deleted. " + _
         "Ensure that the publication exists and that all " + _
         "subscriptions have been deleted.", _
         publicationName, publisherName))
    End If

    ' If no other transactional publications exists,
    ' disable publishing on the database.
    publicationDb = New ReplicationDatabase(publicationDbName, conn)
    If publicationDb.LoadProperties() Then
        If publicationDb.TransPublications.Count = 0 Then
            publicationDb.EnabledTransPublishing = False
        End If
    Else
        ' Do something here if the database does not exist.
        Throw New ApplicationException(String.Format( _
         "The database {0} does not exist on {1}.", _
         publicationDbName, publisherName))
    End If
Catch ex As Exception
    ' Implement application error handling here.
    Throw New ApplicationException(String.Format( _
     "The publication {0} could not be deleted.", _
     publicationName), ex)
Finally
    conn.Disconnect()
End Try

スレッド セーフ

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

関連項目

参照

Microsoft.SqlServer.Replication 名前空間

その他の技術情報

パブリケーションを作成する方法 (RMO プログラミング)