Estou apenas começando a brincar com todas as ferramentas legais de replicação para monitorar programaticamente a replicação
Uma das primeiras descobertas é sp_replmonitorhelpsubscription
Quando eu executo como
sp_replmonitorhelpsubscription
eu recebo
Msg 20587, Level 16, State 1, Procedure sp_replmonitorhelpsubscription, Line 77 [Batch Start Line 16]
Valor '@publication_type' inválido para o procedimento armazenado 'sp_replmonitorhelpsubscription'.
De acordo com os documentos do MS, deve ser válido com um padrão nulo
NULL (padrão)
Se eu executá-lo com o parâmetro funciona bem.
sp_replmonitorhelpsubscription @publication_type = '0'
Eu o uso com replicação transacional, em um único servidor ( Reporting Copy ) Eu tentei e obtive os mesmos resultados no SQL 2017 e 2016. Estou executando-o no banco de dados de distribuição
Não tenho certeza se estou fazendo algo estúpido, se os documentos do MS estão errados ou o quê.
Por que sp_replmonitorhelpsubscription não funciona sem parâmetros?
A verificação do código revela que:
Isso significa que, se
@publication_type
for NULL, ele lançará um erro que é esperado.Mesmo em 2014, está lançando o mesmo erro.
Além disso, você só precisa correr com
sp_replmonitorhelpsubscription @publication_type = 0
-- para publicação Transacional. pois o tipo de dado éINT
.