KB2384766 - FIX: A propriedade ANSI_NULLS de uma vista indexada é alterada para FALSE após a vista indexada ser replicada na base de dados de subscrição no SQL Server 2008 ou no SQL Server 2008 R2

A Microsoft distribui o Microsoft SQL Server 2008 e o Microsoft SQL Server 2008 R2 corre 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 lançamento de correção SQL Server 2008 ou SQL Server 2008 R2.

Sintomas

Considere o seguinte cenário:

  • Cria uma publicação transacional no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2.

  • Tem uma visão indexada. Você definiu a propriedade ANSI_NULLS da vista de índice para TRUE.

  • Adicione a vista indexada à publicação como um artigo. Definiu o tipo de artigo para "indexado ver baseado em registos". Nota Pode utilizar o seguinte código para especificar o tipo de visualização indexado. Faça-o quando executar o procedimento sp_addarticle armazenado para adicionar o artigo de visualização indexado à publicação.

    @type = N'indexed view logbased'
  • Cria-se uma subscrição para a publicação transacional.

  • A vista indexada é replicada na base de dados de subscrição.

Neste cenário, a propriedade ANSI_NULLS da vista indexada é alterada para FALSE na base de dados de subscrição.Notas

  • Este problema ocorre tipicamente quando a propriedade ANSI_NULLS das tabelas que estão envolvidas na estrutura de expressão SQL da vista de índice é definida como FALSE.

  • Este problema também existe no Microsoft SQL Server 2005.

Causa

Este problema ocorre porque tabelas, vistas, funções e procedimentos armazenados no SQL Server 2008 partilham a mesma parte de armazenamento para a propriedade ANSI_NULL. Portanto, se a propriedade ANSI_NULLS de uma das tabelas envolvidas na estrutura de expressão SQL da vista indexada for definida como FALSE, o imóvel de ANSI_NULLS padrão para a vista indexada seria FALSO.

Resolução

Informação de atualização cumulativa

Pacote de serviço SQL Server 2008 1

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

2279604 Pacote de atualização cumulativo 10 para SQL Server 2008 Service Pack 1Nota Como as construçõ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 lançamento de correção SQL Server 2008. A Microsoft recomenda que considere aplicar o mais recente lançamento de correção que contém este 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 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008 Service Pack 1 Os hotfixes do Microsoft SQL Server 2008 são criados para pacotes específicos de serviços sql Server. Tem de aplicar um hotfix SQL Server 2008 Service Pack 1 a uma instalação do SqL Server 2008 Service Pack 1. Por predefinição, qualquer hotfix que seja fornecido num pacote de serviços SQL Server está incluído no próximo pacote de serviços sql Server.

Pacote de serviço SQL Server 2008 2

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

2289254 Atualização cumulativa 1 para SQL Server 2008 Service Pack 2Nota Como as construçõ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 lançamento de correção SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este 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 O SQL Server 2008 constrói que foram lançados 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 4. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2345451 Pacote de atualização cumulativa 4 para SQL Server 2008 R2 Nota Como as construçõ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 lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este 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 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2

Solução

Para contornar este problema, atualize a cache de metadados após a criação da vista indexada, e antes sp_addarticle é executado para adicionar o artigo de visualização indexado.Notas Para atualizar a cache de metadados, utilize um dos seguintes métodos:

  • Pare o serviço SQL Server e, em seguida, inicie o serviço.

  • Desa cosar a base de dados de subscrição para offline e, em seguida, definir a base de dados para on-line.

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Referências

Para obter mais informações sobre o procedimento sp_addarticle armazenado, visite o seguinte website da Microsoft:

Introdução ao procedimento armazenado sp_addarticle (Transact-SQL)Para obter mais informações sobre a publicação de dados e objetos de base de dados, visite o seguinte website da Microsoft:

Publicar dados e objetos de base de dadosPara obter mais informações sobre o Modelo de Manutenção Incremental para O Servidor SQL, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

935897 Um Modelo de Manutenção Incremental está disponível na equipa do SQL Server para entregar hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

822499Novo esquema de nomeação para pacotes de atualização de software do Microsoft SQL ServerPara obter mais informações sobre a terminologia da atualização do software, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

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

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×