KB2791626-FIX: erro "sintaxe incorreta ao lado" quando você usa uma coluna de tipo "DateTimeOffset" como a coluna de particionamento no SQL Server 2008 R2

A Microsoft distribui correções do Microsoft SQL Server 2008 R2 Service Pack 2 como um arquivo que pode ser baixado. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2 Service Pack 2 Fix.

Sintomas

Considere o seguinte cenário:

  • Você tem uma tabela particionada que usa uma coluna de tipo DateTimeOffset como uma coluna de particionamento no Microsoft SQL Server 2008 R2.

  • Use o assistente de nova publicação para criar uma publicação de instantâneo da tabela particionada no SQL Server Management Studio (SSMS).

Nesse cenário, você recebe a seguinte mensagem de erro em um dos scripts que é usado para criar a publicação de instantâneo. Os scripts são gerados automaticamente pelo assistente de nova publicação.

MSG 102, nível 15, estado 1, sintaxe 3Incorrect de linha próximo a "'.

Observação Para obter um exemplo de cenário detalhado em que esse problema ocorrerá, consulte a seção "mais informações".

Resolução

Informações sobre a atualização cumulativa

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

A correção para esse 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 do SQL Server 2008 R2 SP 2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2797460 Pacote de atualizações cumulativas 5 para SQL Server 2008 R2 Service Pack 2Observação 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 incluídas na versão anterior do SQL Server 2008 R2 SP 2 Fix. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2730301 Versões do SQL Server 2008 R2 lançadas após a liberação do SQL Server 2008 R2 Service Pack 2

Informações adicionais

Suponha que você crie uma função de partição no SQL Server 2008 R2 e que o tipo de dados de input_parameter_type seja DateTimeOffset. Em seguida, use a função partição de script como em SSMS. Nesse cenário, o problema descrito na seção "sintomas" ocorre. Além disso, os valores de intervalo de data literal gerados pelo SSMS não são colocados entre aspas simples. Por exemplo, você executa a seguinte instrução para criar uma função de partição:

CREATE PARTITION FUNCTION PF_TEST (datetimeoffset(7)) as range right for values('20100101', '20100201', '20100301')

Em seguida, clique com o botão direito do mouse na função de partição no Explorador de objetos, selecione função de partição de script como, selecione criar parae, em seguida, selecione nova janela do editor de consultas no SSMS. Você verá o seguinte script gerado:

FUNÇÃO criar partição [PF_TEST] (DateTimeOffset (7)) como faixa à direita para valores (1/1/2010 12:00:00 AM + 00:00, 2/1/2010 12:00:00 AM + 00:00, 3/1/2010 12:00:00 AM + 00:00)Se você tentar executar o script gerado, receberá a seguinte mensagem de erro:

MSG 102, nível 15, estado 1, sintaxe 3Incorrect de linha próximo a ' 12 '.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

×