次の方法で共有


MergePullSubscription クラス

定義

マージ パブリケーションに対するプル サブスクリプションを表します。

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

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";

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

// Create the objects that we need.
MergePublication publication;
MergePullSubscription subscription;

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

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

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

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

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

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

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

        Boolean registered = false;

        // Verify that the subscription is not already registered.
        foreach (MergeSubscription existing
            in publication.EnumSubscriptions())
        {
            if (existing.SubscriberName == subscriberName
                && existing.SubscriptionDBName == subscriptionDbName
                && existing.SubscriptionType == SubscriptionOption.Pull)
            {
                registered = true;
            }
        }
        if (!registered)
        {
            // Register the local subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown(
                subscriberName, subscriptionDbName,
                SubscriptionSyncType.Automatic,
                MergeSubscriberType.Local, 0);
        }
    }
    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 = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"

'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 MergePublication
Dim subscription As MergePullSubscription

Try
    ' Connect to the Subscriber.
    subscriberConn.Connect()

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

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

        ' Define the pull subscription.
        subscription = New MergePullSubscription()
        subscription.ConnectionContext = subscriberConn
        subscription.PublisherName = publisherName
        subscription.PublicationName = publicationName
        subscription.PublicationDBName = publicationDbName
        subscription.DatabaseName = subscriptionDbName
        subscription.HostName = hostname

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

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

        ' 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 MergeSubscription In _
        publication.EnumSubscriptions()
            If existing.SubscriberName = subscriberName Then
                registered = True
            End If
        Next
        If Not registered Then
            ' Register the local subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown( _
             subscriberName, subscriptionDbName, _
             SubscriptionSyncType.Automatic, _
             MergeSubscriberType.Local, 0)
        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 (Microsoft Visual Basic では Shared) のすべてのメンバーは、マルチスレッド操作で安全に使用できます。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コンストラクター

MergePullSubscription()

MergePullSubscription クラスの新しいインスタンスを作成します。

MergePullSubscription(String, String, String, String, ServerConnection)

指定したデータベース、パブリッシャー、パブリケーション、およびサブスクライバー接続を使用して、 クラスの新しいインスタンス MergePullSubscription を初期化します。

MergePullSubscription(String, String, String, String, ServerConnection, Boolean)

指定されたデータベース、パブリッシャー、パブリケーション、およびサブスクライバー接続と、エージェント ジョブを作成するかどうかの指定に基づいて、MergePullSubscription クラスの新しいインスタンスを作成します。

プロパティ

AgentJobId

サブスクリプションの同期に使用されるエージェント ジョブの ID を取得します。

(継承元 PullSubscription)
AgentOffload

エージェント ジョブが作成されたコンピューター以外のコンピューターで同期エージェントを実行するかどうかを取得または設定します。 このプロパティは、Microsoft SQL Server 2005 以降を実行しているディストリビューターではサポートされなくなりました。

(継承元 PullSubscription)
AgentOffloadServer

リモート エージェントのアクティブ化を使用するとき、エージェントが実行されるリモート コンピューターの名前を取得します。値の設定も可能です。

(継承元 PullSubscription)
AgentSchedule

サブスクリプションの同期に使用されるエージェント ジョブのスケジュールを取得します。

(継承元 PullSubscription)
AltSnapshotFolder

ディストリビューター上の既定のスナップショットの場所を使用しない場合、パブリケーション スナップショット ファイルの場所を取得します。値の設定も可能です。

(継承元 PullSubscription)
CachePropertyChanges

レプリケーション プロパティに加えられた変更をキャッシュするか、またはすぐに適用するかを取得します。値の設定も可能です。

(継承元 ReplicationObject)
ConnectionContext

Microsoft SQL Server のインスタンスへの接続を取得または設定します。

(継承元 ReplicationObject)
CreateSyncAgentByDefault

レプリケーション エージェントを起動してサブスクリプションを同期するエージェント ジョブが、サブスクリプションの作成時に作成されるかどうかを取得します。値の設定も可能です。

(継承元 PullSubscription)
DatabaseName

サブスクリプション データベースの名前を取得します。値の設定も可能です。

(継承元 PullSubscription)
Description

プル サブスクリプションの説明テキストを取得します。値の設定も可能です。

(継承元 PullSubscription)
DistributorName

ディストリビューターであり、サブスクリプションがサブスクライブするパブリケーションを配布している Microsoft SQL Serverのインスタンスを取得または設定します。

(継承元 PullSubscription)
DistributorSecurity

ディストリビューターへの接続に使用されるセキュリティ コンテキストを取得します。

(継承元 PullSubscription)
DynamicSnapshotLocation

パラメーター化された行フィルターがパブリケーションで使用されている場合に、サブスクリプション固有のスナップショット ファイルの場所を取得します。値の設定も可能です。

EnabledForSynchronizationManager

Windows 同期マネージャーを使用してサブスクリプションを同期できるかどうかを指定します。

(継承元 PullSubscription)
FtpAddress

FTP サーバーの IP アドレスを取得または設定します。

(継承元 PullSubscription)
FtpLogin

FTP のログインを取得または設定します。

(継承元 PullSubscription)
FtpPassword

FTP のパスワードを取得または設定します。

(継承元 PullSubscription)
FtpPort

FTP サーバーのポート番号を取得または設定します。

(継承元 PullSubscription)
HostName

サブスクライバーのデータ パーティションを定義するパラメーター化された行フィルターでこの関数を使用する場合に、 HOST_NAME 関数に指定される値を取得または設定します。

InternetLogin

Web 同期で Web サーバーに接続するときに HTTP 基本認証で使用されるログインを取得します。値の設定も可能です。

InternetPassword

Web 同期で Web サーバーに接続するときに提供される InternetLogin 値のパスワードを取得します。値の設定も可能です。

InternetSecurityMode

Web 同期中に Web サーバーに接続するときに使用される HTTP 認証方法を取得または設定します。

InternetTimeout

Web 同期で Web サーバーに接続するときの HTTP タイムアウト (秒単位) を取得します。値の設定も可能です。

InternetUrl

Web 同期を使用してサブスクリプションの同期をとるときに使用する URL を取得します。値の設定も可能です。

IsExistingObject

サーバーにオブジェクトが存在するかどうかを取得します。

(継承元 ReplicationObject)
IsMemoryOptimized

マージ パブリケーションに対するプル サブスクリプションを表します。

(継承元 PullSubscription)
LastAgentDateTime

サブスクリプションの同期が最後にとられた日付と時刻を取得します。

(継承元 PullSubscription)
LastAgentStatus

サブスクリプションの最新の同期状態を取得します。

(継承元 PullSubscription)
LastAgentSummary

サブスクリプションの最新の同期の結果の概要を取得します。

(継承元 PullSubscription)
Name

プル サブスクリプション用に生成された名前を取得します。

(継承元 PullSubscription)
Priority

サブスクリプション間の競合を解決するときに使用される、他のサーバー サブスクリプションに対するこのサーバー サブスクリプションの重み付けを取得します。値の設定も可能です。

PublicationDBName

パブリケーション データベースの名前を取得します。値の設定も可能です。

(継承元 PullSubscription)
PublicationName

サブスクリプションがサブスクライブするパブリケーションの名前を取得します。値の設定も可能です。

(継承元 PullSubscription)
PublisherName

パブリッシャーの名前を取得または設定します。

(継承元 PullSubscription)
PublisherSecurity

パブリッシャーに接続するときに同期エージェントで使用されるセキュリティ コンテキストを取得します。値の設定も可能です。

(継承元 PullSubscription)
SecureFtpPassword

FTP サーバーへの接続に使用するログインの、セキュリティで保護されたパスワードを取得します。値の設定も可能です。

(継承元 PullSubscription)
SecureInternetPassword

HTTP 基本認証を使用して Web サーバーに接続するときに使用されるパスワードを SecureString オブジェクトとして設定します。

SqlServerName

このオブジェクトが接続されている Microsoft SQL Server インスタンスの名前を取得します。

(継承元 ReplicationObject)
SubscriberSecurity

サブスクライバーに接続するときに同期エージェントで使用されるセキュリティ コンテキストを取得します。

(継承元 PullSubscription)
SubscriberType

サブスクリプションがサーバー サブスクリプションかクライアント サブスクリプションかを取得します。値の設定も可能です。

SubscriptionId

サブスクリプション ID 値を取得します。

(継承元 PullSubscription)
SubscriptionType

プッシュ サブスクリプション、プル サブスクリプション、または匿名サブスクリプションに対して、サブスクリプションを登録するかどうかを取得します。

(継承元 PullSubscription)
SynchronizationAgent

サブスクリプションの同期に使用できるマージ エージェントのインスタンスを表すオブジェクトを取得します。

SynchronizationAgentProcessSecurity

サブスクリプションを同期するために同期エージェント ジョブを実行する Microsoft Windows アカウントを指定するために使用されるセキュリティ コンテキストを取得します。

(継承元 PullSubscription)
SyncType

サブスクライバーでデータが初期化される方法を取得します。値の設定も可能です。

Type

パブリケーションの種類を取得します。値の設定も可能です。

(継承元 PullSubscription)
UseFtp

プル サブスクリプションの初期化に必要なスナップショット ファイルに、同期エージェントがファイル転送プロトコル (FTP) を使用してアクセスするかどうかを取得します。値の設定も可能です。

(継承元 PullSubscription)
UseInteractiveResolver

同期処理中にインタラクティブ競合回避モジュールを使用するかどうかを取得します。値の設定も可能です。

UserData

ユーザーが独自のデータをオブジェクトにアタッチすることを許可するオブジェクト プロパティを取得します。値の設定も可能です。

(継承元 ReplicationObject)
UseWebSynchronization

サブスクリプションの同期に Web 同期を使用するかどうかを取得します。値の設定も可能です。

WorkingDirectory

ダウンロードされたスナップショット ファイルの一時的な格納と解凍に使用する、サブスクライバー上のディレクトリへのパスを取得します。値の設定も可能です。

(継承元 PullSubscription)

メソッド

CheckValidCreation()

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

(継承元 ReplicationObject)
CheckValidDefinition(Boolean)

定義が有効かどうかを示します。

(継承元 PullSubscription)
CommitPropertyChanges()

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

(継承元 ReplicationObject)
Create()

サブスクライバー上にプル サブスクリプションを作成します。

(継承元 PullSubscription)
CustomEnabledForSyncMgr(StringBuilder)

同期マネージャーのカスタム パブリケーションを有効にします。

(継承元 PullSubscription)
Decouple()

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

(継承元 ReplicationObject)
EnumSynchronizationPartners()

代替同期パートナーを返します。

GetChangeCommand(StringBuilder, String, String)

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

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

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

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

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

(継承元 ReplicationObject)
InitMemberVariables(String, String, String, String, Boolean)

メンバー変数を初期化します。

(継承元 PullSubscription)
InternalRefresh(Boolean)

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

(継承元 ReplicationObject)
LastAgentJobHistoryInfo()

最後に実行された同期エージェント ジョブに関する情報を返します。

(継承元 PullSubscription)
Load()

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

(継承元 ReplicationObject)
LoadProperties()

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

(継承元 ReplicationObject)
Refresh()

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

(継承元 ReplicationObject)
Reinitialize(Boolean)

マージ プル サブスクリプションに再初期化のマークを付けます。

Remove()

プル サブスクリプションを削除します。

(継承元 PullSubscription)
Script(ScriptOptions)

オブジェクトの現在のプロパティ設定に基づいてプル サブスクリプションを作成または削除する Transact-SQL スクリプトを PullSubscription 返します。

(継承元 PullSubscription)
StopSynchronizationJob()

現在サブスクリプションの同期を実行しているマージ エージェント ジョブの停止を試みます。

SynchronizeWithJob()

エージェント ジョブを非同期に開始して、プル サブスクリプションを同期します。

適用対象

こちらもご覧ください