Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

A Microsoft distribui as correções do Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) 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 do SqL Server 2008 R2 Service Pack 2.

Sintomas

Pode receber resultados incorretos quando executar uma consulta no Microsoft SQL Server 2008 R2 SP2 ou no Microsoft SQL Server 2012 quando as seguintes condições forem verdadeiras:

  • A consulta utiliza uma cláusula CROSS APPLY sobre o resultado de uma cláusula FULL JOIN.

  • Os dados da tabela são fornecidos através da chamada de uma função definida pelo utilizador de valor de tabela na cláusula FULL JOIN.

  • A função aceita um nome de coluna como parâmetro e devolve os resultados como tabela.

Por exemplo, você faz uma consulta que se assemelha ao seguinte:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s  

Nota Este problema não ocorre no Microsoft SQL Server 2012.

Resolução

Informação de atualização cumulativa

Atualização Cumulativa 7 para SQL Server 2012

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

2823247 Pacote de atualização cumulativo 7 para SQL Server 2012Nota 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 2012. 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:

2692828 O SQL Server 2012 constrói que foram lançados após o lançamento do SQL Server 2012

Atualização Cumulativa 3 para SQL Server 2012 SP1

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 SQL Server 2012 SP1, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2812412 Pacote de atualização cumulativo 3 para SQL Server 2012 Service Pack 1Nota Como as construçõ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 lançamento de correção SP1 DO SQL Server 2012. 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:

2772858 O SQL Server 2012 constrói que foram lançados após o lançamento do SQL Server 2012 Service Pack 1

Atualização Cumulativa 5 para SQL Server 2008 R2 SP2

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

2797460 Pacote de atualização cumulativo 5 para SQL Server 2008 R2 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 de correção SQL Server 2008 R2 SP 2. 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:

2730301 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 2

Estado

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

Solução

Para contornar esta questão, utilize a cláusula FULL MERGE JOIN EM vez de uma cláusula FULL JOIN. Por exemplo, altera-se a consulta que é mencionada na secção "Sintomas" para que a consulta se assemelhe ao seguinte:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL MERGE JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s 

Mais Informações

Para obter mais informações sobre como utilizar a cláusula CROSS APPLY, aceda ao seguinte website da Microsoft TechNet:

Informações gerais sobre como utilizar a cláusula CROSS APPLY

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×