调试SQL Server的存储过程及用户定义函数
1、在查询分析器中调试
查询分析器中调试的步骤如下:
SQL
2000查询分析器
--左连的对象浏览器(没有的话按F8)
--对象项中
--右键调试的存储过程
--调试
--输入参数(必须输入所有的参数,包括默认值/输出参数
--点击执行
--出现一个浮动工具条
--上面有单步执行,断点设置等
按F11是单步执行.
如果要运行到指定行,只需要将光标移动到指定的行,再按Ctrl+F10
2、通过输出存储过程或用户定义函数的处理结果进行调试
如果没办法使用查询分析器调试存储过程,可以直接在存储过程中添加
PRINT 或者 SELECT 语句,输出存储过程各步骤的执行结果。对于用户定义函数,不能使用 PRINT 或者 SELECT
语句输出各步骤的执行结果,要调度用户定义函数,可以将用户定义函数改成存储过程,调试成功后再改回用户定义函数。
3、在VB.NET中调试
菜单中,选择"工具"--"连接到数据库"
选择"视图"--"服务器资源管理器"
在服务器资源管理器中,右键要调试的存储过程或者用户定义函数--单步执行.
4、保障查询分析器或者VB.NET中能成功调试的几个事项
1. 远程sql服务器的mssqlserver服务要求使用指定用户(不是本地系统用户),最好是administrator启动。
控制面板--管理工具--服务--右键mssqlserver--属性--登录中,将登录身份改为“此帐户”,并设置对应的用户名及密码。
2. 登录远程sql的用户使用sa
3. 远程sql服务器要求未禁用调试功能,执行下面的语句开启调试功能:
sp_sdidebug
legacy_on
4. 保证调试与被调试的电脑的sql server版本一致,无论是客户端,还是服务器,最好都安装sql
sp4。
检查SQ ServerL有没有打补丁的方法是在查询分析器中运行:
select @@version
如果出来的版本号是8.00.2039以下,则表明未安装sp4的补丁。
全部补丁的位置(在下载页的中间部分,可以选择语言,必须保证下载的补丁语言和sql
server实例语言对应)
简体中文版式SQL
Server 2000应该安装的补丁
注意:
a. 补丁下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装
b. 如果的操作系统是xp,那么在安装xp
sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问。
c. windows
2003上运行机制的 SQL Server 必须安装sp3或者更高的补丁版本。
调试SQL Server的存储过程及用户定义函数的更多相关文章
- 应用C#和SQLCLR编写SQL Server用户定义函数
摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...
- sql server系统存储过程大全
关键词:sql server系统存储过程,mssql系统存储过程 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 x ...
- Sql Server 2012 存储过程的调试
[一]Sql Server 关于存储过程调试SQL2000是在查询分析器中的对象浏览器中选中需要调试的存储过程,右键----调试---输入参数开始调试.sqlserver2008中则完全不同,变成了必 ...
- SQL Server 2019 中标量用户定义函数性能的改进
在SQL Server中,我们通常使用用户定义的函数来编写SQL查询.UDF接受参数并将结果作为输出返回.我们可以在编程代码中使用这些UDF,并且可以快速编写查询.我们可以独立于任何其他编程代码来修改 ...
- sql server查询可编程对象定义的方式对比以及整合
本文目录列表: 1.sql server查看可编程对象定义的方式对比 2.整合实现所有可编程对象定义的查看功能的存储dbo.usp_helptext2 3.dbo.helptext2的选择性测试 4. ...
- 使用WinDbg调试SQL Server——入门
这篇文章我想探究下SQL Server里完全不同的领域:如果使用WinDbg(来自针对Windows的调试工具)调试SQL Server.在我们进入枯涩细节之前,我想详细解释下为什么选择这样晦涩的话题 ...
- SQL Server中存储过程与函数的区别
本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样. 函数限制比较多,比如不能用临 ...
- SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过 存储过程 创建存储过程 use pubs --pubs为数据库 go create proc ...
- SQL Server中存储过程 比 直接运行SQL语句慢的原因
问题是存储过程的Parameter sniffing 在很多的资料中都描述说SQLSERVER的存储过程较普通的SQL语句有以下优点: 1. 存储过程只在创造时进行编译即可,以后每次执行存储过 ...
随机推荐
- Windows 异步IO操作
Windows提供了4种不同的方法来接收I/O请求已经完成的通知:触发设备内核对象.触发事件内核对象.可提醒I/O和I/O完成端口. Windows的异步I/O 当线程向设备发起一个I/O异步 ...
- nextLine() 、nextInt()的跳过问题
nextInt() 将输入的信息的下一个标记扫描为 int. nextLine() 此扫描器执行当前行,并返回跳过的输入信息. nextInt 会读取下面输入的 int类型的信息以回车作为结束,如果 ...
- HTML表单常用标签
名称 用例 备注 文本输入框 <input type="text" name="uname" value="" ...
- YTU 2441: C++习题 复数类--重载运算符2+
2441: C++习题 复数类--重载运算符2+ 时间限制: 1 Sec 内存限制: 128 MB 提交: 847 解决: 618 题目描述 定义一个复数类Complex,重载运算符"+ ...
- Android JNI MAC OS环境配置
前言—JNI技术简介 JNI是Java Native Interface的缩写,即“Java本地调用”,它是Java世界和Native世界的中介桥梁.其中Native世界一般指C/C++的世界.众所周 ...
- C# ref和out总结
C# 中ref 与 out 总结 参数的传递一般分为两种:一种是“值传递”即:传递实参的拷贝,既然是拷贝那么在函数中对这个形参所作的任何动作都不会反映到原来的实参中.另外一种是“引用传递”即:传递 ...
- Mybatis中用到的设计模式
Mybatis中用到至少用到以下设计模式, Builder模式,例如SqlSessionFactoryBuilder.XMLConfigBuilder.XMLMapperBuilder.XMLStat ...
- ASP.NET项目开发实战<<一键创建解决方案>>
视频演示地址:http://www.youku.com/playlist_show/id_23192838.html 第一步:创建项目需要的数据库 打开辅助开发工具,如下图 从左侧菜单找到 项目数据库 ...
- Pascal之工种问题
program Project2; Type ma=(A,B,C); wk=..; const x:array[ma,wk] of integer =((,,),(,,),(,,)); var max ...
- 「vijos」lxhgww的奇思妙想(长链剖分)
传送门 长链剖分的板子(又是乱搞优化暴力) 对于每一个点,我们定义它深度最深的子节点为它的重儿子(为什么不叫长儿子……),他们之间的连边为重边 然后长链剖分有几个性质 1.总链长为$O(n)$ 2.一 ...