TransPublication クラス

定義

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

public ref class TransPublication sealed : Microsoft::SqlServer::Replication::Publication
public sealed class TransPublication : Microsoft.SqlServer.Replication.Publication
type TransPublication = class
    inherit Publication
Public NotInheritable Class TransPublication
Inherits Publication
継承

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

// 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 (Microsoft Visual Basic では Shared) のすべてのメンバーは、マルチスレッド操作で安全に使用できます。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コンストラクター

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(Boolean, Int32) を使用してピア ツー ピア競合検出が有効化されたかどうかを取得します。

PeerOriginatorID

ピア ツー ピア トポロジ内のノードの ID を取得します。PeerConflictDetectionEnabledtrue に設定されている場合、競合検出にこの 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(String, String)

特定のサブスクリプションに対してスナップショット ファイルが生成された場所の完全なパスを返します。

CheckValidCreation()

有効なレプリケーションの作成を確認します。

(継承元 ReplicationObject)
CheckValidDefinition(Boolean)

有効な定義であるか確認するかどうかを示します。

(継承元 Publication)
CommitPropertyChanges()

キャッシュされたすべてのプロパティ変更ステートメントを Microsoft SQL Serverのインスタンスに送信します。

(継承元 ReplicationObject)
CopySnapshot(String, String, String)

目的のフォルダーに特定のサブスクリプションの最新のスナップショット ファイルをコピーします。

Create()

パブリケーションを作成します。

(継承元 Publication)
CreateSnapshotAgent()

このジョブがまだ存在しない場合は、パブリケーションの初期スナップショットの生成に使用されるSQL Server エージェント ジョブを作成します。

(継承元 Publication)
Decouple()

参照先のレプリケーション オブジェクトをサーバーから切断します。

(継承元 ReplicationObject)
EnumArticles()

パブリケーション内のアーティクルを返します。

(継承元 Publication)
EnumPublicationAccesses(Boolean)

パブリッシャーに対するアクセス権を持つログインを返します。

(継承元 Publication)
EnumSubscriptions()

パブリケーションをサブスクライブするサブスクリプションを返します。

(継承元 Publication)
GetChangeCommand(StringBuilder, String, String)

レプリケーションの変更コマンドを返します。

(継承元 ReplicationObject)
GetCreateCommand(StringBuilder, Boolean, ScriptOptions)

レプリケーションの作成コマンドを返します。

(継承元 ReplicationObject)
GetDropCommand(StringBuilder, Boolean)

レプリケーションの削除コマンドを返します。

(継承元 ReplicationObject)
GrantPublicationAccess(String)

パブリケーション アクセス リスト (PAL) に指定したログインを追加します。

(継承元 Publication)
InternalRefresh(Boolean)

レプリケーションで内部更新を開始します。

(継承元 ReplicationObject)
Load()

サーバーから既存のオブジェクトのプロパティを読み込みます。

(継承元 ReplicationObject)
LoadProperties()

サーバーから既存のオブジェクトのプロパティを読み込みます。

(継承元 ReplicationObject)
MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType)

パブリッシャー側でプル サブスクリプションを登録します。

MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType, Boolean)

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

PostTracerToken()

待機時間を確認する処理を開始するために、パブリッシャー ログにトレーサー トークンを送信します。

Refresh()

オブジェクトのプロパティを再度読み込みます。

(継承元 ReplicationObject)
RefreshSubscriptions()

パブリケーションに対するすべてのサブスクリプションを更新して、新たに追加されたアーティクルを含めます。

ReinitializeAllSubscriptions()

パブリケーションに対するすべてのサブスクリプションに再初期化のマークを付けます。

ReinitializeAllSubscriptions(Boolean)

既存のスナップショットを無効にするオプションを指定して、パブリケーションに対するすべてのサブスクリプションに再初期化のマークを付けます。

Remove()

既存のパブリケーションを削除します。

(継承元 Publication)
Remove(Boolean)

ディストリビューターにアクセスできない場合でも、既存のパブリケーションを削除します。

(継承元 Publication)
RemovePullSubscription(String, String)

パブリッシャー側のプル サブスクリプションの登録を削除します。

ReplicateUserDefinedScript(String)

ユーザー定義スクリプトの実行を、指定したパブリケーションのサブスクライバーにレプリケートします。

(継承元 Publication)
RevokePublicationAccess(String)

パブリケーション アクセス リスト (PAL) から指定したログインを削除します。

(継承元 Publication)
Script(ScriptOptions)

スクリプト オプションで指定されたパブリケーションを再作成するために使用できる Transact-SQL スクリプトを生成します。

(継承元 Publication)
SetPeerConflictDetection(Boolean, Int32)

ピア ツー ピア トポロジ内のノードの競合検出を有効または無効にします。

StartSnapshotGenerationAgentJob()

パブリケーションの初期スナップショットを生成するジョブを開始します。

(継承元 Publication)
StopSnapshotGenerationAgentJob()

実行中のスナップショット エージェント ジョブの停止を試みます。

(継承元 Publication)
ValidatePublication(ValidationOption, ValidationMethod, Boolean)

すべてのサブスクリプションのインライン パブリケーション検証を呼び出します。

ValidateSubscriptions(String[], String[], ValidationOption, ValidationMethod, Boolean)

指定されたサブスクリプションのインライン パブリケーション検証を呼び出します。

適用対象

こちらもご覧ください