A Microsoft distribui correções do Microsoft SQL Server 2012 Service Pack 1 como um arquivo para download. 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 na versão de correção anterior do SQL Server 2012 Service Pack 1.
Sintomas
Suponha que você execute uma consulta que usa a função TRY_CONVERT juntamente com o parâmetro de estilo no Microsoft SQL Server 2012. Nesta situação, o parâmetro de estilo pode ser ignorado e a consulta pode retornar um resultado incorreto.
Resolução
Informações sobre a atualização cumulativa
Atualização cumulativa 2 para o servidor SQL 2012 SP1
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 2. Para obter mais informações sobre como obter este pacote de atualização cumulativo para o SQL Server 2012 SP1, clique no seguinte número do artigo para visualizar o artigo na Base de Conhecimento da Microsoft:
Pacote de atualização cumulativa 2790947 para o Pacote de Serviço sql 2012Nota 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 na versão de correção SQL Server 2012 SP1 anterior. Recomendamos que você considere aplicar a versão de correção mais recente que contém este hotfix. Para mais informações, clique no seguinte número do artigo para visualizar o artigo na Base de Conhecimento da Microsoft:
2772858 O SQL Server 2012 constrói que foram lançados após SQL Server 2012 Service Pack 1 foi lançado
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Informações adicionais
Para reproduzir esta questão, siga estas etapas:
-
Crie uma tabela no SQL Server 2012 SP1 chamada "Teste" e insira um registro na tabela:CREATE TABLE TEST (I DATE);INSERT INTO TEST VALUES (GETDATE());
-
Executar as seguintes consultas para retornar um resultado correto:SELECT TOP 1 TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT TRY_CONVERT(VARCHAR, '20121023', 112) FROM TEST;--The returned result is "20121023".
-
Em seguida, execute as seguintes consultas para retornar um resultado incorreto:SELECT TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT TRY_CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;--The returned result is "2012-10-23".
Referências
Para obter mais informações sobre a função TRY_CONVERT (Transact-SQL), acesse o site siga o MSDN:
Informações gerais sobre a função TRY_CONVERT (Transact-SQL)Para obter mais informações, o Modelo de Manutenção Incremental para o Servidor SQL, clique no seguinte número do artigo para visualizar o artigo na Base de Conhecimento da Microsoft:
935897 Um modelo incremental de manutenção está disponível na equipe do Servidor SQL para entregar hotfixes para problemas relatadosPara obter mais informações sobre o esquema de nomenclatura para atualizações do Servidor SQL, clique no número seguinte do artigo para visualizar o artigo na Base de Conhecimento da Microsoft:
822499 Nomeando esquema para pacotes de atualização de software microsoft SQL ServerPara obter mais informações sobre a terminologia de atualização de software, clique no número seguinte do artigo para visualizar o artigo na Base de Conhecimento da Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft