问题一,多用print查看好啦问题3,用xp_cmdshell

解决方案 »

  1.   

    qa里面object browser,选中你的sp,右键debug
      

  2.   

    SQL 2000查询分析器
    --左连的对象浏览器(没有的话按F8)
    --对象项中
    --右键调试的存储过程
    --调试
    --输入参数(必须输入所有的参数,包括默认值/输出参数
    --点击执行
    --出现一个浮动工具条
    --上面有单步执行,断点设置等
      

  3.   

    问题2:
    ROLLBACK [TRAN[SACTION]  [transaction_name |
    @tran_name_variable | savepoint_name | @savepoint_variable] ]Argumentstransaction_nameIs the name assigned to the transaction on BEGIN TRANSACTION. transaction_name must conform to the rules for identifiers, but only the first 32 characters of the transaction name are used. When nesting transactions, transaction_name must be the name from the outermost BEGIN TRANSACTION statement.@tran_name_variableIs the name of a user-defined variable containing a valid transaction name. The variable must be declared with a char, varchar, nchar, or nvarchar data type.savepoint_nameIs savepoint_name from a SAVE TRANSACTION statement. savepoint_name must conform to the rules for identifiers. Use savepoint_name when a conditional rollback should affect only part of the transaction.@savepoint_variableIs name of a user-defined variable containing a valid savepoint name. The variable must be declared with a char, varchar, nchar, or nvarchar data type.
    在可能出错的地方放置回滚点,然后判断@@ERROR来回滚到你需要回滚的地方祝好运啦
      

  4.   

    在SQL QUERY中—》对象浏览器—》存储过程—》选择要调试的存储过程—》右击mouse—》选择调试(debug)—》输入参数—》--设置完你的参数值后--点击执行,就是出现一个浮动工具条,上面有单步执行,断点设置等
      

  5.   

    ---跟踪
    开始->程序->MS SQLSERVER->事件探察器(SQL Profiler)-->文件-->新建-->跟踪就可以了。。然后数据库的调用情况就会显示出来查询分析器--工具--选项--在每项上都有一个全部重置的按纽--每项点了它后点应用.记录集会在下面的结果窗口中显示.如果没有显示,要在存储过程中加上显示的语句.
    在查询分析器中找到存储过程->右键->调试也可
      

  6.   

    【问题2:】
    检查你的存储过程
    【问题3:】
    exec master..xp_cmdshell '要调用的文件名'
      

  7.   

    我就是按 zjcxc(邹建)的方法来做的: 
      SQL 2000查询分析器
    --左连的对象浏览器(没有的话按F8)
    --对象项中
    --右键调试的存储过程
    --调试
    --输入参数(必须输入所有的参数,包括默认值/输出参数
    --点击执行
    --出现一个浮动工具条
    --上面有单步执行,断点设置等
      可就是不能使用单步执行等,点击调试时出现下面的错误:
    ---------------------------
    SQL 查询分析器
    ---------------------------
    如果您用“本地系统帐户”登录而 SQL Server 配置为作为服务运行,则 SP 调试可能不会正常工作。可以打开 Event Viwer 以查看详细信息。要继续吗?
    ---------------------------
    是(Y)   否(N)   取消   
    ---------------------------另外用sp_cmdshell 的时候我的查询分析器就每响应了 
      

  8.   

    怎么理解这句话:
    如果您用“本地系统帐户”登录而 SQL Server 配置为作为服务运行,则 SP 调试可能不会正常工作。
      

  9.   

    如果您用“本地系统帐户”登录而 SQL Server 配置为作为服务运行,
    则 SP 调试可能不会正常工作。
    ---------------------------
     这句话的意思就是: 要在QA中调试存储过程, SQL Server 的服务
     不能以本地系统帐户(SA)的方式启动,要用Administrator的身份登陆.
     在 NT/2k 的服务属性里面修改登陆身份.
      

  10.   


     补充一点:
       SQL7 缺省是不支持调试存储过程的,但是Visual Studio的安装盘
       里面提供了一个插件,安装完毕后支持在VB/VC中单步调试存储过程.
      

  11.   

    这样的一段存储过程:
    SET XACT_ABORT OFF
    BEGIN TRAN
     INSERT INTO Table1...
        if @@Error<>0 goto Ret
     INSERT INTO Table2...
        if @@Error<>0 goto Ret
     UPDATE Table3 SET....
        if @@Error<>0 goto Ret
    COMMIT TRAN
    Select "Yes"
    return
    Ret:
    ROLLBACK TRAN
    Select "No"
    return如果某条Insert语句出现了错误,我应该得到"No",可是我得不到,在我得程序里(vb.net+Ado.NET )dataadapter.Fill到dataset里得时候却出现异常(用try捕获到的, 也是提示违反××规则)?
    按理说,不管是提交还是回滚,我总能得到一个“yes” 或“no”,可怎么会出现异常呢?
      

  12.   

    加print语句
    已经足够调试了