KB979212 - CORREÇÃO: Um valor DateTime é substituído por um valor NULL quando um conflito é resolvido usando um resolvedor personalizado na replicação de mesclagem do Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2

Aplica-se A
Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Workgroup Edition Microsoft SQL Server 2005 Standard X64 Edition Microsoft SQL Server 2005 Enterprise X64 Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

A Microsoft distribui correções do Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 corrigir lançamento.

Sintomas

Tenha em conta o seguinte cenário:

  • Criar uma replicação de mesclagem no Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2.
  • Você cria um resolvedor personalizado que é usado para determinar vencedores de conflitos depois que conflitos são detectados.
  • Tem uma coluna de tipo de dados DateTime.
  • A coluna DataHora inclui um valor NULL num site. O valor no campo correspondente noutro site não é um valor NULL DateTime. Um destes sites é um editor e o outro site é um subscritor.
  • O publicador e o assinante estão conectados e, em seguida, ocorre a sincronização.

Nesse cenário, o resolvedor personalizado determina que o valor NULL é o vencedor do conflito. Em seguida, o resolvedor personalizado substitui o valor DateTime pelo valor NULL.

Causa

Durante a operação de carregamento, o Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 utiliza o conjunto de resultados do resolvedor personalizado para substituir o valor da coluna de acordo com o estado da coluna. No entanto, o Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 não repõe o estado da coluna corretamente.

Resolução

Informações de atualização cumulativa

SQL Server 2005

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 9 para SQL Server 2005 Service Pack 3. Para obter mais informações sobre este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

980176 Pacote de atualizações cumulativas 9 para SQL Server 2005 Service Pack 3Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2005 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

960598 As compilações do SQL Server 2005 lançadas após o lançamento do SQL Server 2005 Service Pack 3
Os hotfixes do Microsoft SQL Server 2005 são criados para service packs SQL Server específicos. Tem de aplicar uma correcção SQL Server 2005 Service Pack 3 a uma instalação do SQL Server 2005 Service Pack 3. Por padrão, qualquer hotfix fornecido em um SQL Server service pack é incluído no próximo SQL Server service pack.

SQL Server 2008

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 9 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2083921 atualização cumulativa 9 para SQL Server 2008 Service Pack 1Nota Como as compilações são cumulativas, cada novo lançamento de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 corrigir lançamento. A Microsoft recomenda que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

970365 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 1 Os hotfixes do Microsoft SQL Server 2008 são criados para service packs SQL Server específicos. Tem de aplicar uma correção do SQL Server 2008 Service Pack 1 a uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecido em um SQL Server service pack é incluído no próximo SQL Server service pack.

SQL Server 2008 Service Pack 2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 1 para o SQL Server 2008 Service Pack 2. Para obter mais informações sobre este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2289254 Atualização cumulativa 1 para SQL Server 2008 Service Pack 2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2

SQL Server 2008 R2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

2261464 Pacote de atualizações cumulativas 3 para SQL Server 2008 R2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server anterior 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

981356 As compilações SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Para obter mais informações sobre como uma replicação de mesclagem detecta e resolve conflitos, visite o seguinte site da MSDN (Microsoft Developer Network):

Como as replicações de mesclagem detectam e resolvem conflitos Para obter informações sobre o modelo de manutenção incremental para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

935897 Um modelo de manutenção incremental está disponível na equipe de SQL Server para fornecer hotfixes para problemas relatados

  Para mais informações sobre como obter o SQL Server 2005 Service Pack 3, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

913089
  Como obter o service pack mais recente para o SQL Server 2005
   Para obter mais informações sobre novos recursos e aprimoramentos no SQL Server 2005 Service Pack 3, visite o seguinte site:

https://go.microsoft.com/fwlink/?linkid=131442
  Para obter mais informações sobre o esquema de nomenclatura para atualizações SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

822499
  Novo esquema de nomenclatura para pacotes de atualização de software do Microsoft SQL Server
   Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

824684
  Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft