Partilhar via


Como especificar opções de esquema (Programação Transact-SQL de replicação)

Ao publicar uma tabela ou exibição, a replicação permite que você controle as opções de criação de objeto que são replicadas para o objeto publicado. As opções de esquema podem ser definidas programaticamente quando é criado um artigo usando procedimentos armazenados de replicação. Elas também podem ser alteradas mais tarde. Se você não especificar essas opções explicitamente para um artigo, um conjunto padrão de opções será definido.

ObservaçãoObservação

As opções de esquema padrão ao usar procedimentos de armazenamento de replicação podem diferir das opções padrão quando forem adicionados artigos usando o Microsoft SQL Server Management Studio.

As opções de esquema são especificadas como um valor hexadecimal que é o resultado | (OR de bit a bit) de uma ou mais opções. Para obter mais informações, consulte sp_addarticle e sp_addmergearticle.

ObservaçãoObservação

Você deve converter valores de opção de esquema de binary para int antes de executar uma operação bit a bit. Para obter mais informações, consulte Article Options for Transactional Replication.

Para especificar opções de esquema ao definir um artigo para uma publicação de instantâneo ou transacional

  • No Publicador do banco de dados de publicação, execute sp_addarticle. Especifique o nome da publicação à qual o artigo pertence para @publication, um nome para o artigo para @article, o objeto de banco de dados a ser publicado para @source_object, o tipo de objeto de banco de dados para @type e o resultado | (OR de bit a bit) de uma ou mais opções de esquema para @schema_option. Para obter mais informações, consulte Como definir um artigo (Programação Transact-SQL de replicação).

Para especificar opções de esquema ao definir um artigo para uma publicação de mesclagem

Para alterar opções de esquema para um artigo existente em uma publicação de instantâneo ou transacional

  1. No Publicador do banco de dados de publicação, execute sp_helparticle. Especifique o nome da publicação à qual o artigo pertence para @publication e o nome do artigo para @article. Observe o valor da coluna schema_option no conjunto de resultados.

  2. Execute uma operação & (AND de bit a bit) usando o valor da etapa 1 e o valor de opção de esquema desejado para determinar se a opção está definida.

    • Se o resultado for 0, a opção não está definida.

    • Se o resultado for o valor da opção, a opção já está definida.

  3. Se a opção não estiver definida, execute uma operação | (OR de bit a bit) usando o valor da etapa 1 e o valor de opção de esquema desejado.

  4. No Publicador do banco de dados de publicação, execute sp_changearticle. Especifique o nome da publicação à qual o artigo pertence para @publication, o nome do artigo para @article, um valor de schema_option para @property e o resultado hexadecimal da etapa 3 para @value.

  5. Execute o Snapshot Agent para gerar um novo instantâneo. Para obter mais informações, consulte Como criar o instantâneo inicial (Programação Transact-SQL de replicação).

Para alterar opções de esquema para um artigo existente em uma publicação de mesclagem

  1. No Publicador do banco de dados de publicação, execute sp_helpmergearticle. Especifique o nome da publicação à qual o artigo pertence para @publication e o nome do artigo para @article. Observe o valor da coluna schema_option no conjunto de resultados.

  2. Execute uma operação & (AND de bit a bit) usando o valor da etapa 1 e o valor de opção de esquema desejado para determinar se a opção está definida.

    • Se o resultado for 0, a opção não está definida.

    • Se o resultado for o valor da opção, a opção já está definida.

  3. Se a opção não estiver definida, execute uma operação | (OR de bit a bit) usando o valor da etapa 1 e o valor de opção de esquema desejado.

  4. No Publicador do banco de dados de publicação, execute sp_changemergearticle. Especifique o nome da publicação à qual o artigo pertence para @publication, o nome do artigo para @article, um valor de schema_option para @property e o resultado hexadecimal da etapa 3 para @value.

  5. Execute o Snapshot Agent para gerar um novo instantâneo. Para obter mais informações, consulte Como criar o instantâneo inicial (Programação Transact-SQL de replicação).