Applies ToSQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express

A Microsoft distribui o Microsoft SQL Server 2008 Service Pack 1 (SP1) e o Microsoft SQL Server 2008 R2 corre correções 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 SP1 e do SOL Server 2008 R2.

Sintomas

Considere o seguinte cenário:

  • Você habilita o controle de alterações em uma tabela no SQL Server 2008 ou no SQL Server 2008 R2.

  • Você executa uma consulta que usa a função CHANGETABLE em conjunto com o argumento last_sync_version para retornar informações de rastreamento para as alterações que ocorreram na tabela.

  • Um valor bigint é passado como o argumento last_sync_version .

Por exemplo, você executa a seguinte consulta após habilitar o controle de alterações em uma tabela:

SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct

Nesse cenário, a execução da consulta falha e você recebe as seguintes informações:

MSG 1080, nível 15, estado 1, linha 1a valor inteiro o valor bigint está fora do intervalo.

Observações

  • O tipo do argumento last_sync_version é definido como bigint. Portanto, espera-se que a consulta seja executada com êxito.

  • o valor bigint é um espaço reservado que representa o valor bigint que é passado como o argumento last_sync_version .

Resolução

Informações sobre a atualização cumulativa

SQL Server 2008 R2 Service Pack 1

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

2544793 Pacote de atualização cumulativa 1 para SQL Server 2008 R2 Service Pack 1Observaçã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. 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:

2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

Service Pack 2 do SQL Server 2008

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

2527180 Pacote de atualização cumulativa 4 para SQL Server 2008 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 Fix. A Microsoft recomenda 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:

2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 2 a uma instalação do SQL Server 2008 Service Pack 2. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.

SQL Server 2008 R2

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

2507770 Pacote de atualizações cumulativas 7 para SQL Server 2008 R2 Observaçã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. 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:

981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 13. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 SP1, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2497673 Pacote de atualizações cumulativas 13 para SQL Server 2008 Service Pack 1 Observaçã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 SP1. 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:

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

Status

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

Solução alternativa

Para contornar esse problema, crie uma variável do tipo biginte, em seguida, passe a variável como o argumento Last_sync_version da função CHANGETABLE . Por exemplo, você pode executar a seguinte consulta com êxito:

DECLARE @v3 bigint = 2222222222SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct

Informações adicionais

Para obter mais informações sobre a função CHANGETABLE para TRANSACT-SQL, acesse o seguinte site da Microsoft Development Network (MSDN):

Informações gerais sobre a função CHANGEtable para Transact-SQL

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.