我理解错误以及如何修复我只是想找到要修复的字段。 让我从顶部开始。我每天运行一个计划任务,执行一个进程,在某些点运行一些运行插入语句的sql中的sprocs。不幸的是,在检查我的日志后,我收到了有问题的错误,因此我的sprocs无法正常工作。我可以将每个字段更新到更大的长度,这可能会修复它,但不是。是否有任何方法可以知道(没有手动检查,因为有很多字段和数千行)包含对于插入的字段来说太大的值的字段?
答案 0 :(得分:9)
使用VARCHAR(MAX)
作为列的datatype
将数据导入新表。然后,您可以使用DATALENGTH
来获取每列的最大大小。
SELECT MAX(DATALENGTH(col1)) AS col1, MAX(DATALENGTH(col2)) AS col2, etc.
FROM newTable
这将告诉您哪些列超出了列的大小。