字符串或二进制数据将被截断,字段查找

时间:2014-03-12 15:42:46

标签: sql sql-server sql-server-2008-r2

我理解错误以及如何修复我只是想找到要修复的字段。 让我从顶部开始。我每天运行一个计划任务,执行一个进程,在某些点运行一些运行插入语句的sql中的sprocs。不幸的是,在检查我的日志后,我收到了有问题的错误,因此我的sprocs无法正常工作。我可以将每个字段更新到更大的长度,这可能会修复它,但不是。是否有任何方法可以知道(没有手动检查,因为有很多字段和数千行)包含对于插入的字段来说太大的值的字段?

1 个答案:

答案 0 :(得分:9)

使用VARCHAR(MAX)作为列的datatype将数据导入新表。然后,您可以使用DATALENGTH来获取每列的最大大小。

SELECT MAX(DATALENGTH(col1)) AS col1, MAX(DATALENGTH(col2)) AS col2, etc.
  FROM newTable

这将告诉您哪些列超出了列的大小。