大型存储过程中如何定位错误“用户'user_test'登录失败”?

时间:2019-05-30 16:36:11

标签: sql-server

我正在重构遗留系统,该系统依赖于庞大的存储过程,并且依赖的存储树/ UDF的调用树也很大,并且互连的服务器很多。

生产存储过程运行正常,而测试1失败

  

用户'user_test'登录失败

我无法从error_procedure() and error_line()获得更多详细信息。

完整的输出:

  

(受影响的1行)

     

(受影响的1行)

     

...跳过

     

ErrorNumber = [18456]; ErrorSeverity = [14]; ErrorState = [1]; ErrorProcedure = []; ErrorLine = [1]; ErrorMessage = [用户'user_test'的登录失败。]

     

消息18456,第14级,状态1,第1行
  用户'user_test'登录失败。

显然,某些链接服务器未在测试环境中正确设置。因此,我需要设置它们或模拟/注释外部调用。我无法在测试服务器上调试存储过程。

如何在代码中找到引发此错误的确切行而不在SQL的每一行之后添加跟踪?

系统在Windows Server 2012 R2的SQL Server 2016中运行。

0 个答案:

没有答案