다음을 통해 공유


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

설명

끌어오기 구독의 경우 병합 에이전트 구독자에서 실행됩니다.

스레드 보안

이 유형의 모든 공용 정적(Shared Microsoft Visual Basic의 경우) 멤버는 다중 스레드 작업에 안전합니다. 인스턴스 구성원은 스레드로부터의 안전성이 보장되지 않습니다.

생성자

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

웹 동기화 중에 웹 서버에 연결할 때 HTTP 기본 인증과 함께 사용되는 로그인을 가져오거나 설정합니다.

InternetPassword

웹 동기화 중에 웹 서버에 연결할 때 제공된 InternetLogin 값의 암호를 가져오거나 설정합니다.

InternetSecurityMode

웹 동기화 중에 웹 서버에 연결할 때 사용하는 HTTP 인증 방법을 가져오거나 설정합니다.

InternetTimeout

웹 동기화 중에 웹 서버에 연결할 때 HTTP 제한 시간(초)을 가져오거나 설정합니다.

InternetUrl

웹 동기화를 사용하여 구독을 동기화할 때 사용할 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 기본 인증을 사용하여 웹 서버에 연결할 때 사용되는 암호를 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

웹 동기화를 사용하여 구독이 동기화되는지 여부를 가져오거나 설정합니다.

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()

끌어오기 구독을 동기화하는 에이전트 작업을 비동기적으로 시작합니다.

적용 대상

추가 정보