sp_replcmds (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Retorna os comandos para transações marcadas para replicação. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.

Importante

O procedimento sp_replcmds deve ser executado somente para solucionar problemas com a replicação.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
sp_replcmds [ @maxtrans = ] maxtrans  

Argumentos

[ @maxtrans = ] maxtrans É o número de transações sobre as quais retornar informações. MaxTrans é int, com um padrão de 1, que especifica a próxima transação aguardando distribuição.

Conjuntos de resultados

Nome da coluna Tipo de dados Descrição
ID do artigo int A ID do artigo.
partial_command bit Indica se este é um comando parcial ou não.
command Varbinário(1024) O valor do comando.
Xactid binary(10) ID da transação.
xact_seqno varbinary(16) O número de sequência da transação.
publication_id int A ID da publicação.
command_id int ID do comando em MSrepl_commands.
command_type int Tipo de comando.
originator_srvname sysname Servidor onde a transação originou.
originator_db sysname Banco de dados onde a transação originou.
pkHash int Somente para uso interno.
originator_publication_id int ID da publicação de origem da transação.
originator_db_version int Versão do banco de dados onde a transação originou.
originator_lsn varbinary(16) Identifica o LSN (número de sequência de log) para o comando na publicação de origem.

Comentários

sp_replcmds é usado pelo processo do leitor de log na replicação transacional.

A replicação trata o primeiro cliente que executa sp_replcmds em um determinado banco de dados como o leitor de log.

Esse procedimento pode gerar comandos para tabelas qualificadas pelo proprietário ou pode não qualificar o nome da tabela (o padrão). A adição de nomes das tabelas qualificados permite a replicação de dados de tabelas de propriedade de um usuário específico em um banco de dados para tabelas de propriedade do mesmo usuário em outro banco de dados.

Observação

Como o nome da tabela no banco de dados de origem é qualificado pelo nome do proprietário, o proprietário da tabela no banco de dados de destino deve ter o mesmo nome do proprietário.

Os clientes que tentam executar sp_replcmds no mesmo banco de dados recebem o erro 18752 até que o primeiro cliente se desconecte. Depois que o primeiro cliente se desconecta, outro cliente pode executar sp_replcmds e se torna o novo leitor de log.

Um número de mensagem de aviso 18759 é adicionado ao log de erros do Microsoft SQL Server e ao log de aplicativos do Microsoft Windows se sp_replcmds não conseguir replicar um comando de texto porque o ponteiro de texto não foi recuperado na mesma transação.

Permissões

Somente membros da função de servidor fixa sysadmin ou da função de banco de dados fixa db_owner podem executar sp_replcmds.

Confira também

Mensagens de Erro
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)