邮件8152,第16级,状态2,第1行。查找到的列将被截断

时间:2019-08-19 21:40:20

标签: sql sql-server truncate

我受委派维护一个外部数据库的表,该表包含我在数据库上处理的数据,现在我面临的是将数据从我的数据库获取到该表的问题,问题是我拥有的值的长度(数据在最坏的情况下相当于90%,但我也处理更精确的数据)并获得经典数据:

  

8152消息,状态16,状态2,第1行
  洛斯·达托斯·德·卡德纳或特伦卡里亚。

我知道我可以检查每列并比较总长度,但是我们正在讨论的过程中涉及130列和6个以上的连接。

我做了SET ANSI_WARNINGS OFF,发现与表有大约10列冲突(数据清楚地显示了截断的值),但是我仍然需要比较120列和大约4k行。

话虽这么说,有没有一种简单/手动的方法来检测哪些列正在引发错误?

1 个答案:

答案 0 :(得分:0)

为什么不比较每个数据库的表架构来确定差异在哪里?截断只是在发生,因为目标表不允许的数据大小与源表允许的大小相同。