Sintomas
Considere o seguinte cenário:
-
Tem um servidor ligado no Microsoft SQL Server 2008 R2.
-
Existe uma tabela no servidor ligado que tem uma coluna de tipo SMALLDATETIME.
-
Executa uma instrução INSERT ou INSERT INTO para inserir um registo que contém dados do tipo DATETIME na tabela.
Neste cenário, a instrução falha. Além disso, a seguinte mensagem de erro é exibida:
O fornecedor OLE DB "SQLNCLI10" para o servidor ligado "LinkServerName " devolveu a mensagem "Erros gerados pela operação OLE DB de vários passos. Verifique cada valor de status OLE DB, se disponível. Não foi feito nenhum trabalho."Msg 7344, Nível 16, Estado 1, Linha 1O fornecedor OLE DB "SQLNCLI10" para o servidor ligado "LinkServerName" não conseguiu INSERIR NA tabela "TableName" devido à coluna "ColumnName". A conversão falhou porque o valor de dados excedeu o tipo de dados utilizado pelo fornecedor.
Causa
Este problema ocorre devido a um problema de mapeamento do 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 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 o SQL Server 2008 R2 Service Pack 2, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:
2754552 Pacote de atualização cumulativa 3 para SQL Server 2008 R2 Service Pack 2Note Uma vez que as compilações são cumulativas, cada nova versão de correção contém todas as correções e todas as correções de segurança incluídas na versão de correção do SQL Server 2008 R2 Service Pack 2 anterior. Recomendamos que considere aplicar a versão de correção mais recente que contém esta correção. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2730301 As compilações SQL Server 2008 R2 que foram lançadas após SQL Server lançamento do Service Pack 2 de 2008 R2
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, utilize um dos seguintes métodos:
-
Casta os dados do tipo DATETIME para o tipo SMALLDATETIME na instrução .
-
Altere a coluna SMALLDATETIME do tipo para o tipo DATETIME no servidor ligado.