用SQL Server 2005,你能够在数据层发现错误,这样业务层开发人员就不必担心事务再次尝试问题。如果你能够发现一个死锁错误,你就需要再次尝试语句(可能要在一段时间之后,以便释放所需的资源)。
为说明这些新功能的运作情况,查看列表A。表中的代码用来记录发生的错误。我希望记录错误处理函数的所有信息,以及错误发生的日期和发生错误的数据库。
我将用列表B中的代码来记录程序中发生的所有错误。注意你不必给程序设定任何参数,此程序将访问上面描述的错误处理函数。这是因为在执行CATCH块的时候,你可以调用这个程序。即使调用了其他程序,你也可以在CATCH块的任何地方参考这些函数。
列表C专门用来查检死锁错误号,此时为1205。如果FicticiousTable1更新时发生死锁错误,语句即被重试三次。如果重试三次后还不能成功更新,就停止更新此表。
SQL Server 2005错误处理的优点
与之前的版本相比,SQL Server 2005提供了一种更为稳健的错误处理工具。在SQL Server 2000数据库层几乎无法处理的死锁问题,现在也能轻松解决。利用这些新功能,你能够将更多精力放在IT商业策略开发上,不用过于关注错误处理。
Tim Chapman在肯塔基路易维尔的一家银行从事SQL服务器数据库管理员工作,他有7年以上的IT工作经验。。
责任编辑:张琎
查看本文的国际来源
|