0
我有一个类似的问题,这个问题:TRY CATCH with Linked Server in SQL Server 2005 Not Working捕获错误<20
我跑这个尝试捕捉:
Declare @command nvarchar(100)
SET @command = 'SELECT column FROM table'
BEGIN TRY
BEGIN TRY
exec ' + @Server_Name + @DB_name + '.dbo.sp_executesql @command
END TRY
BEGIN CATCH
PRINT EXCEPTION
END CATCH
我不认为我可以使用RAISEERROR
,因为我没有运行我自己的存储过程,我只运行一个简单的select语句。我试过使用@@ERROR
,但这不适用于链接服务器。因为我得到的误差小于20,我碰到这个问题:
如果远程存储过程调用RAISERROR与严重程度小于 20和远程存储过程是一个try块中作用域的 地方服务器,RAISERROR不会导致控制传递到TRY ... CATCH的CATCH 块构建
http://msdn.microsoft.com/en-us/library/ms191515.aspx
我发现这个问题:How to capture error message returned from linked server?尚未回答Ë ither。