【问题标题】:In SQL Server, how to find Line number in Trigger where error occurred?在 SQL Server 中,如何在发生错误的触发器中查找行号?
【发布时间】:2016-03-28 20:49:49
【问题描述】:

我正在使用 Microsoft SQL Server 2008 R2。

我有一个名为 ph 的表,其中有一个名为 t_ph_audit 的触发器。我正在运行一个在 ph 表中插入和更新大量行的进程。在运行过程中,我收到了来自触发器的错误消息:

消息 8152,级别 16,状态 14,程序 t_ph_audit,行 840
字符串或二进制数据将被截断。
声明已经 终止。

我如何才能准确地找出此触发器的第 840 行发生此错误的位置?

有几种方法可以打开触发器:

  1. Microsoft SQL Server Management Studio,我可以右键点击 那个触发器打开右键菜单然后点击Modify 选项。
  2. Microsoft SQL Server Management Studio,我可以右键点击 该触发器打开右键菜单,然后点击Script Trigger as --> CREATE TO --> New Query Editor window选项。
  3. Microsoft SQL Server Management Studio,我可以右键点击 该触发器打开右键菜单,然后点击Script Trigger as --> ALTER TO --> New Query Editor window选项。
  4. Microsoft SQL Server Management Studio,我可以右键点击 那个触发器打开右键菜单然后点击Script Trigger as --> DROP And CREATE To --> New Query Editor window 选项。

我应该使用哪个选项来打开触发器,以便触发器中的行号正是发生错误的位置?

【问题讨论】:

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


    【解决方案1】:

    没有地方默认显示的行数,你可以在高级菜单->工具->选项->文本编辑器->TransactSQL->常规,然后标记选项行号是只是为了让apear。

    您还可以在触发器中添加日志以手动进行“调试”。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2017-07-27
      • 2011-09-01
      • 1970-01-01
      相关资源
      最近更新 更多