• λ我爱Aspx >> C#.Net >> SQL Server的怪辟:异常与孤立事务
  • SQL Server的怪辟:异常与孤立事务

  • :aspxer  Դ:5iaspx  :2007-7-30 6:13:44  ؼ:sql
  • 一、首先从SQLServer中Error讲起,SQL中错误处理有些怪辟 错误级别同是16但结果都不同。

    以下是引用片段:

    select * from 一个不在的表

    if @@error<>0

    print '这个没有输出'

    go

    raiserror('',16,3)

    if @@error<>0

    print '这个输出了'

    go

    exec('select * from 一个不在的表')

    if @@error<>0

    print '这个输出了'

    go

    exec sp_executesql N'select * from 一个不在的表'

    if @@error<>0

    print '这个输出了'

    这样你可以发现通过exec或sp_executesql执行可疑的sql,这样就可以在后面捕捉到被异常终止的错误。

    二、引出孤立事务:

    1、孤立事务的产生

    以下是引用片段:

    select @@trancount 当前连接的活动事务数 --当前连接的活动事务数为0

    begin tran

    select * from 一个不在的表

    if @@error<>0

    begin

    print '没有执行到这里来!'

    if @@trancount<>0 rollback tran

    end

    commit tran

    select @@trancount 当前连接的活动事务数 --执行后你看看 当前连接的活动事务数为1,且重复执行会每次累加,这是很耗资源的。

    应为rollback根本就没有被回滚。

    Ҷƪл˵?
  • һƪ实例讲解如何处理ARP伪装攻击包的问题
    һƪ用Fireworks渐变工具做简单图片特效