MergePullSubscription Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma assinatura pull para uma publicação de mesclagem.
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
- Herança
Exemplos
// 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
Comentários
Para uma assinatura pull, o Agente de Mesclagem é executado no Assinante.
Acesso thread-safe
Todos os membros estáticos públicos (Shared
no Microsoft Visual Basic) desse tipo são seguros para operações multithread. Não há garantia de que qualquer membro de instância seja seguro para threads.
Construtores
MergePullSubscription() |
Cria uma nova instância da classe MergePullSubscription. |
MergePullSubscription(String, String, String, String, ServerConnection) |
Inicializa uma nova instância da classe com o banco de dados, o Publicador, a publicação e a MergePullSubscription conexão do Assinante especificados. |
MergePullSubscription(String, String, String, String, ServerConnection, Boolean) |
Cria uma nova instância da classe MergePullSubscription com o banco de dados, o Publicador, a publicação, a conexão de Assinante especificados e se o trabalho de agente é criado. |
Propriedades
AgentJobId |
Obtém a ID do trabalho de agente usado para sincronizar a assinatura. (Herdado de PullSubscription) |
AgentOffload |
Obtém ou define se o Agente de Sincronização é executado em um computador diferente do computador em que o trabalho do agente foi criado. Essa propriedade não tem mais suporte para Distribuidores que executam o Microsoft SQL Server 2005 e posterior. (Herdado de PullSubscription) |
AgentOffloadServer |
Obtém ou define o nome do computador remoto no qual o agente é executado ao usar a ativação de agente remota. (Herdado de PullSubscription) |
AgentSchedule |
Obtém a agenda do trabalho de agente a ser usada para sincronizar a assinatura. (Herdado de PullSubscription) |
AltSnapshotFolder |
Obtém ou define o local onde os arquivos de instantâneo de publicação são obtidos quando o local de instantâneo padrão no Distribuidor não é usado. (Herdado de PullSubscription) |
CachePropertyChanges |
Obtém ou define se as alterações feitas às propriedades de replicação devem ser armazenadas em cache ou aplicadas imediatamente. (Herdado de ReplicationObject) |
ConnectionContext |
Obtém ou define a conexão com uma instância do Microsoft SQL Server. (Herdado de ReplicationObject) |
CreateSyncAgentByDefault |
Obtém ou define se o trabalho de agente usado para iniciar o Agente de Replicação para sincronizar a assinatura é criado quando a assinatura é criada. (Herdado de PullSubscription) |
DatabaseName |
Obtém ou define o nome do banco de dados de assinatura. (Herdado de PullSubscription) |
Description |
Obtém ou define uma descrição textual da assinatura pull. (Herdado de PullSubscription) |
DistributorName |
Obtém ou define a instância do Microsoft SQL Server que é o Distribuidor e está distribuindo a publicação à qual a assinatura assina. (Herdado de PullSubscription) |
DistributorSecurity |
Obtém o contexto de segurança usado para conectar ao Distribuidor. (Herdado de PullSubscription) |
DynamicSnapshotLocation |
Obtém ou define o local de arquivo para os arquivos de instantâneo específicos de assinatura quando a publicação usa um filtro de linha parametrizado. |
EnabledForSynchronizationManager |
Especifica se a assinatura pode ser sincronizada através do Gerenciador de Sincronização do Windows. (Herdado de PullSubscription) |
FtpAddress |
Obtém ou define o endereço IP do servidor de FTP. (Herdado de PullSubscription) |
FtpLogin |
Obtém ou define o logon do FTP. (Herdado de PullSubscription) |
FtpPassword |
Obtém ou define a senha de FTP. (Herdado de PullSubscription) |
FtpPort |
Obtém ou define o número da porta do servidor de FTP. (Herdado de PullSubscription) |
HostName |
Obtém ou define o valor fornecido para a função HOST_NAME quando essa função é usada no filtro de linha com parâmetros que define a partição de dados do Assinante. |
InternetLogin |
Obtém ou define o logon usado com Autenticação HTTP Básica durante a conexão com o servidor Web durante a sincronização da Web. |
InternetPassword |
Obtém ou define a senha para o valor InternetLogin fornecido durante a conexão com o servidor Web na sincronização da Web. |
InternetSecurityMode |
Obtém ou define o método de autenticação HTTP usado ao se conectar ao servidor Web durante a sincronização da Web. |
InternetTimeout |
Obtém ou define o tempo limite, em segundos, durante a conexão com o servidor Web durante a sincronização da Web. |
InternetUrl |
Obtém ou define a URL a ser usada ao sincronizar a assinatura utilizando sincronização da Web. |
IsExistingObject |
Especifica se o objeto existe no servidor ou não. (Herdado de ReplicationObject) |
IsMemoryOptimized |
Representa uma assinatura pull para uma publicação de mesclagem. (Herdado de PullSubscription) |
LastAgentDateTime |
Obtém a data e a hora em que a assinatura foi sincronizada pela última vez. (Herdado de PullSubscription) |
LastAgentStatus |
Obtém o status da sincronização de assinatura mais recente. (Herdado de PullSubscription) |
LastAgentSummary |
Obtém um resumo do resultado da sincronização de assinatura mais recente. (Herdado de PullSubscription) |
Name |
Obtém o nome gerado para a assinatura pull. (Herdado de PullSubscription) |
Priority |
Obtém ou define a importância desta assinatura de servidor em relação a outras assinaturas de servidor ao resolver conflitos entre assinaturas. |
PublicationDBName |
Obtém ou define o nome do banco de dados de publicação. (Herdado de PullSubscription) |
PublicationName |
Obtém ou define o nome da publicação à qual a assinatura assina. (Herdado de PullSubscription) |
PublisherName |
Obtém ou define o nome do Publicador. (Herdado de PullSubscription) |
PublisherSecurity |
Obtém ou define o contexto de segurança usado pelo Agente de Sincronização durante a conexão com o Publicador. (Herdado de PullSubscription) |
SecureFtpPassword |
Obtém ou define a senha segura do logon usado para conexão com o servidor de FTP. (Herdado de PullSubscription) |
SecureInternetPassword |
Define a senha (como um objeto SecureString) usada durante a conexão com o servidor Web usando a Autenticação Básica HTTP. |
SqlServerName |
Obtém o nome da instância do Microsoft SQL Server à qual esse objeto está conectado. (Herdado de ReplicationObject) |
SubscriberSecurity |
Obtém ou define o contexto de segurança usado pelo Agente de Sincronização durante a conexão com o Assinante. (Herdado de PullSubscription) |
SubscriberType |
Obtém ou define se a assinatura é uma assinatura de servidor ou cliente. |
SubscriptionId |
Obtém o valor da ID da assinatura. (Herdado de PullSubscription) |
SubscriptionType |
Determina se o registro de assinatura é push ou pull ou anônimo. (Herdado de PullSubscription) |
SynchronizationAgent |
Obtém um objeto que representa uma instância do Agente de Mesclagem que pode ser usado para sincronizar a assinatura. |
SynchronizationAgentProcessSecurity |
Obtém o contexto de segurança usado para especificar a conta do Microsoft Windows na qual o trabalho do Synchronization Agent é executado para sincronizar a assinatura. (Herdado de PullSubscription) |
SyncType |
Obtém ou define a maneira na qual os dados são inicializados no Assinante. |
Type |
Obtém ou define o tipo de publicação. (Herdado de PullSubscription) |
UseFtp |
Obtém ou define se os arquivos de instantâneo necessários para inicializar a assinatura pull são acessados pelo Agente de Sincronização usando o Protocolo FTP. (Herdado de PullSubscription) |
UseInteractiveResolver |
Obtém ou define se o Resolvedor Interativo é usado durante o processo de sincronização. |
UserData |
Obtém ou define uma propriedade de objeto que permite que os usuários anexem seus próprios dados ao objeto. (Herdado de ReplicationObject) |
UseWebSynchronization |
Obtém ou define se a assinatura é sincronizada utilizando sincronização da Web. |
WorkingDirectory |
Obtém ou define o caminho do diretório no Assinante utilizado para armazenar temporariamente e descompactar arquivos de instantâneo baixados. (Herdado de PullSubscription) |
Métodos
CheckValidCreation() |
Verifica a criação de replicação válida. (Herdado de ReplicationObject) |
CheckValidDefinition(Boolean) |
Indica se a definição é válida. (Herdado de PullSubscription) |
CommitPropertyChanges() |
Envia todas as instruções de alteração de propriedade armazenadas em cache para a instância do Microsoft SQL Server. (Herdado de ReplicationObject) |
Create() |
Cria a assinatura pull para o Assinante. (Herdado de PullSubscription) |
CustomEnabledForSyncMgr(StringBuilder) |
Permite a publicação personalizada para o gerenciador síncrono. (Herdado de PullSubscription) |
Decouple() |
Desacopla o objeto de replicação referenciado do servidor. (Herdado de ReplicationObject) |
EnumSynchronizationPartners() |
Retorna os Parceiros de sincronização Alternativos |
GetChangeCommand(StringBuilder, String, String) |
Retorna o comando change da replicação. (Herdado de ReplicationObject) |
GetCreateCommand(StringBuilder, Boolean, ScriptOptions) |
Retorna o comando create da replicação. (Herdado de ReplicationObject) |
GetDropCommand(StringBuilder, Boolean) |
Retorna o comando drop da replicação. (Herdado de ReplicationObject) |
InitMemberVariables(String, String, String, String, Boolean) |
Inicializa as variáveis de membro. (Herdado de PullSubscription) |
InternalRefresh(Boolean) |
Inicia uma atualização interna da replicação. (Herdado de ReplicationObject) |
LastAgentJobHistoryInfo() |
Retorna informações sobre o último trabalho de Agente de Sincronização executado. (Herdado de PullSubscription) |
Load() |
Carrega as propriedades de um objeto existente do servidor. (Herdado de ReplicationObject) |
LoadProperties() |
Carrega as propriedades de um objeto existente do servidor. (Herdado de ReplicationObject) |
Refresh() |
Recarrega as propriedades do objeto. (Herdado de ReplicationObject) |
Reinitialize(Boolean) |
Marca a assinatura pull de mesclagem para reinicialização. |
Remove() |
Remove a assinatura pull. (Herdado de PullSubscription) |
Script(ScriptOptions) |
Retorna um script Transact-SQL para criar ou excluir a assinatura pull com base na configuração de propriedade atual do PullSubscription objeto. (Herdado de PullSubscription) |
StopSynchronizationJob() |
Tenta interromper um trabalho do Agente de Mesclagem em execução que está sincronizando a assinatura no momento. |
SynchronizeWithJob() |
Inicia o trabalho de agente de modo assíncrono para sincronizar a assinatura pull. |