关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »存储过程:轻松过滤SQL Server连接

    存储过程:轻松过滤SQL Server连接

    2015-11-26 00:00:00 出处:ITJS
    分享

    该文我们对系统存储过程进行讨论,通过一个例程列出有关SQL Server连接或者在某个选中的连接上执行操作的信息。

    SQL Server数据库管理员需要时刻保持对服务器上连接的警惕。为了某种模式的应用,管理员需要监控这些连接;列出具有问题的连接,然后采取行动来进行修整;或者是在某个选中的连接上执行操作,例如结束某个连接。这有些困难,但是不是不可能的,要执行这些任务需要使用企业管理器(Enterprise Manager)。一个忙碌的数据库管理员需要一个更加方便的工具。

    列表1中的SQL 代码创建了一个系统存储过程,名字为sp_ListConnections。

    这个sp_ListConnections存储过程接受8个参数,但都不是必需的。

    第一个参数(@DBUltra)是可选的,可用来指明是否需要限制列表为只显示那些被阻塞的连接。0这个值表示,所有符合条件的连接都应该列出来。1这个值表示只有被阻塞的和正在阻塞的连接列出来。

    第二个参数(@PCUltra)是可选的,用来指定是否需要将列表限制为只显示那些活动的连接(正在处理T-SQL语句。)0值表示,所有符合条件的连接都应该列出来。1值表示只有活动的连接显示出来。

    随后的四个参数都是可选的,并且在一起用来形成一个通过名字作为选择关键条件的组合形式。请参考我以前写的文章,看看我对这些参数的工作方式的解释。这些参数指定了需要考虑的数据库、应用程序、登陆或者客户机。

    第七个参数(@DBTrain)是可选的,用来指定如何应用前面四个参数。D值表示通过使用这些参数按照名字选出某个数据库。A值表示通过使用这些参数按照名字选出的是应用程序。L值表示使用这些参数选出的是登录名。其他值表示通过使用这些参数选出的是客户机的名字。

    最后一个参数(@PCTrain)是可选的,可用来指定在某个选定的连接上执行什么操作。这个操作可以是在每个连接上执行T-SQL代码。也可以是给客户机发送消息。接收到消息的客户机就是那些包括在其他参数中的客户机。所有的@DBTrain数值都是有效的,并且发送给任何一个客户机的消息都只有一个。

    假如@PCTrain的数值包括了字符串“@@SPID”,那么就假设它是T-SQL代码。用当前的连接ID替换了"@@SPID"之后,T-SQL代码在每个连接上执行。

    假如@PCTrain的数值是一个简单的文本消息,那么消息就会传输到客户机上。消息可以不包含CR/LF字符。

    假如@PCTrain数值是数字的,那么就认为这个数字是SQL Server的错误号,就会从sysmessages表中找到相应的信息发送给客户机。客户消息可以添加到sysmessages表中,通过使用sp_addmessage系统存储过程来完成(查看MSDN了解详细信息)。

    注意:发送消息给客户机的能力依赖于Windows消息服务。SQL Server所在的机器和客户机上的这个服务必须是启动的,sp_ListConnections存储过程返回了有关SQL Server连接或者在某个连接上执行某项操作的信息。连接通过@DBUltra, @PCUltra和其他参数经过了过滤。假如@PCTrain提供的指定操作执行了,那么就不会返回有关连接信息的集合了。

    我建议使用查询分析器(Query Analyzer)中工具菜单下的用户选项来建立正确的存储过程调用,那么它就可以通过简单的键盘组合来执行了。下面这个截屏图像演示了我的建议。

    用户选项

    请注意,在下面的例子中,网页的格式可能会导致某个参数值转到第二行。假如是这样的话,在执行代码之前,删除额外的CR/LF。

    下面这个例子列出了涉及阻塞的连接的信息。

    EXECUTE sp_ListConnections 1

    这个例子通过SQL Agent任务系统列出了连接的信息。

    EXECUTE sp_ListConnections 0,0,NULL,NULL,'SQLAgent%',NULL,'A'

    这个例子列出了Northwind数据库上所有活动的连接。

    EXECUTE sp_ListConnections 0,1,NULL,NULL,'Northwind',NULL,'D'

    这个例子向sysmessages表中添加了客户消息。

    EXECUTE sp_addmessage 50001,16,N'The server will be restarted in 10 minutes.'

    这个例子给所有连接到服务器上的计算机发送了一条客户消息。

    EXECUTE sp_ListConnections @PCTrain = '50001'

    这个例子给连接到Northwind数据库的连接所在的计算机发送了一条文字消息。

    EXECUTE sp_ListConnections 0,0,'Northwind',NULL,NULL,NULL,'D','The Northwind database will go offline in 10 minutes.'

    这个例子中断了连接到Northwind数据库上的连接。

    EXECUTE sp_ListConnections 0,0,'Northwind',NULL,NULL,NULL,'D','KILL @@SPID'

    我希望这个系统存储过程能对你有用。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。