sys.sp_resyncmergesubscription (Transact-SQL)

Aplica-se a: SQL Server

Resincroniza uma subscrição de fusão com um estado de validação conhecido que especifica. Pode forçar a convergência ou sincronizar a base de dados de subscrição para um momento específico, como a última vez que houve uma validação bem-sucedida, ou para uma data especificada. O snapshot não é reaplicado ao ressincronizar uma subscrição usando este método. Este procedimento armazenado não é utilizado para subscrições de replicação de snapshots ou subscrições de replicação transacional. Este procedimento armazenado é executado no Publisher, na base de dados da publicação, ou no Assinante, na base de dados de subscrição.

Transact-SQL convenções de sintaxe

Syntax

sys.sp_resyncmergesubscription
    [ [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    , [ @publication = ] N'publication'
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @subscriber_db = ] N'subscriber_db' ]
    , [ @resync_type = ] resync_type
    [ , [ @resync_date_str = ] N'resync_date_str' ]
[ ; ]

Arguments

@publisher [ = ] N'editor'

O nome do Editor. @publisher é sysname, com um padrão de NULL. Um valor de NULL é válido se o procedimento armazenado for executado no Publisher. Se o procedimento armazenado for executado no Assinante, deve ser especificado um Publisher.

[ @publisher_db = ] N'publisher_db'

O nome da base de dados de publicações. @publisher_db é sysname, com um padrão de NULL. Um valor de NULL é válido se o procedimento armazenado for executado no Publisher na base de dados de publicações. Se o procedimento armazenado for executado no Assinante, deve ser especificado um Publisher.

[ @publication = ] N'publicação'

O nome da publicação. @publication é sysname, sem padrão.

[ @subscriber = ] N'assinante'

O nome do Assinante. @subscriber é sysname, com um padrão de NULL. Um valor de NULL é válido se o procedimento armazenado for executado no Assinante. Se o procedimento armazenado for executado no Publisher, deve ser especificado um Assinante.

[ @subscriber_db = ] N'subscriber_db'

O nome da base de dados de subscrição. @subscriber_db é sysname, com um padrão de NULL. Um valor de NULL é válido se o procedimento armazenado for executado no Assinante na base de dados de subscrição. Se o procedimento armazenado for executado no Publisher, deve ser especificado um Assinante.

[ @resync_type = ] resync_type

Define quando a ressincronização deve começar. @resync_type é int, e pode ser um dos seguintes valores.

Value Description
0 A sincronização começa após o snapshot inicial. Esta opção é a mais exigente em recursos, porque todas as alterações desde o snapshot inicial são reaplicadas ao Assinante.
1 A sincronização começa desde a última validação bem-sucedida. Todas as gerações novas ou incompletas originadas desde a última validação bem-sucedida são reaplicadas ao Assinante.
2 A sincronização começa na data indicada em @resync_date_str. Todas as gerações novas ou incompletas originadas após a data são reaplicadas ao Assinante

[ @resync_date_str = ] N'resync_date_str'

Define a data em que a ressincronização deve começar. @resync_date_str é nvarchar(30), com um padrão de NULL. Este parâmetro é usado quando o @resync_type é um valor de 2. A data dada é convertida para o seu valor equivalente à data-hora .

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

sp_resyncmergesubscription é usado na replicação por fusão.

Um valor de 0 para o parâmetro @resync_type , que reaplica todas as alterações desde o snapshot inicial, pode ser intensivo em recursos, mas possivelmente muito inferior a uma reinicialização completa. Por exemplo, se o snapshot inicial foi entregue há um mês, este valor faria com que os dados do mês anterior fossem reaplicados. Se o snapshot inicial contivesse 1 gigabyte (GB) de dados, mas o número de alterações do último mês consistisse em 2 megabytes (MB) de dados alterados, seria mais eficiente reaplicar os dados do que reaplicar o snapshot completo de 1 GB.

Permissions

Apenas os membros do papel de servidor fixo de sysadmin ou do papel de base de dados fixa db_owner podem executar sp_resyncmergesubscription.