Sintomas
Considere o seguinte cenário:
-
Você tem um servidor vinculado no Microsoft SQL Server 2008 R2.
-
Há uma tabela no servidor vinculado que tem uma coluna tipo SMALLDATETIME .
-
Você executa uma instrução Insert ou INSERT INTO para inserir um registro que contém dados do tipo DateTime na tabela.
Nesse cenário, a instrução falha. Além disso, a seguinte mensagem de erro é exibida:
O provedor OLE DB "SQLNCLI10" para o servidor vinculado "LinkServerName " gerou a mensagem "operação de OLE DB de várias etapas gerou erros. Verifique cada valor de status do OLE DB, se disponível. Não foi feito nenhum trabalho. ". MSG 7344, nível 16, estado 1, line 1a provedor do OLE DB "SQLNCLI10" para o servidor vinculado "LinkServerName" não pôde inserir na tabela "tablenamename" devido à coluna "ColumnName". Falha na conversão porque o valor dos dados estoura o tipo de dados usado pelo provedor.
Causa
Esse problema ocorre devido a um problema de mapeamento de tipo de dados no SQL Server.
Resolução
Informações sobre a atualização cumulativa
SQL Server 2008 R2 Service Pack 2
A correção para esse 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 do SQL Server 2008 R2 Service Pack 2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2754552 Pacote de atualizações cumulativas 3 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 no lançamento anterior do SQL Server 2008 R2 Service Pack 2. 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
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Solução alternativa
Para contornar o problema, use um dos seguintes métodos:
-
Converta os dados do tipo DateTime para o tipo SMALLDATETIME na instrução.
-
Altere a coluna do tipo SMALLDATETIME para o tipo DateTime no servidor vinculado.