数据库
首页 > 数据库> > CodeGo.net>如何获取堆栈跟踪SQL CLR程序集中发生的异常

CodeGo.net>如何获取堆栈跟踪SQL CLR程序集中发生的异常

作者:互联网

我正在尝试使用SQL CLR程序集,但这会导致某些异常.但是,SQL Server Management Studio只说:

Msg 10329, Level 16, State 49, Line 7
.Net Framework execution was aborted. 
The statement has been terminated.

有什么方法可以获取堆栈跟踪信息?

解决方法:

您将无法在T-SQL中检索CLR堆栈.您可以使用两种方法:

>修改CLR代码,在CLR代码中添加try … catch …块,并使用SqlPipe.Send跟踪堆栈到catch块的输出.这将在您的T-SQL环境中将堆栈打印为信息消息. ,您可以使用SqlConnection.InfoMessage在客户端中捕获它
>将调试器附加到SQL Server并捕获首次机会CLR异常(即,引发异常时).这将使您能够对问题进行故障排除并加以解决,但显然不是生产解决方案.在调试器下停止时,SQL Server将冻结,因此请确保在受控环境中进行操作.

标签:sqlclr,clrstoredprocedure,c,net,sql-server
来源: https://codeday.me/bug/20191127/2076425.html