sql server Service Broker 相关查询

-- 查看传输队列中的消息
--如果尝试从队列中移除时,列将表明哪里出现了问题
select * from sys.transmission_queue -- 查看Service Broker 激活的存储过程
select * from sys.dm_broker_activated_tasks -- 查看数据库中的每个会话端点。会话端点代表Service Broker 会话的每一端。
-- 会话端点视图state列显示会话的状态
select * from sys.conversation_endpoints -----------------------------------------------------------------------
--查看活动队列
SELECT * FROM <queue name> WITH (NOLOCK) --查找数据库的service_broker_guid
SELECT service_broker_guid
FROM sys.databases
WHERE database_id = DB_ID() ; --清除无法正常完成的会话
END CONVERSATION @dialog_handle WITH CLEANUP ; -- 指定数据库应接收新的Broker 标识符。由于该数据库被视为新的Service Broker,所以将立即删除数据库中的所有现有会话,而不生成结束对话框消息。
alter database guoqiang set NEW_BROKER -------------------------------------------------------------------------
-- 查看每个Service Broker 网络链接
select * from sys.dm_broker_connections -- 查看实例中的每个队列监视器,队列监视器负责管理队列的激活。
select * from sys.dm_broker_queue_monitors -- 查看针对每个Service Broker 消息都返回一行,此消息表示SQL Server 实例正在转发中。
select * from sys.dm_broker_forwarded_messages -- 指定数据库应接收新的Broker 标识符。由于该数据库被视为新的Service Broker,所以将立即删除数据库中的所有现有会话,而不生成结束对话框消息。
alter database guoqiang set NEW_BROKER -- 指定对指定的数据库启用Service Broker
alter database guoqiang set ENABLE_BROKER --指定为指定数据库禁用Service Broker
alter database guoqiang set DISABLE_BROKER ----------------------------------------------
-- 消息类型视图
select * from sys.service_message_types --系统中的约定视图
select * from sys.service_contracts -- 路由视图
select * from sys.routes --队列是一种属于架构的对象。队列显示在目录视图
select * from sys.objects --服务视图
select * from sys.services --消息和约定的关系视图
select * from sys.service_contract_message_usages -- 查看消息类型列表、它们使用的约定
SELECT C.name AS Contract, M.name AS MessageType,
CASE
WHEN is_sent_by_initiator = 1
AND is_sent_by_target = 1 THEN 'ANY'
WHEN is_sent_by_initiator = 1 THEN 'INITIATOR'
WHEN is_sent_by_target = 1 THEN 'TARGET'
END AS SentBy
FROM sys.service_message_types AS M
JOIN sys.service_contract_message_usages AS U
ON M.message_type_id = U.message_type_id
JOIN sys.service_contracts AS C
ON C.service_contract_id = U.service_contract_id
ORDER BY C.name, M.name; --查看队列使用的内部表的名称
SELECT Q.name AS QueueName, I.name AS InternalName
FROM sys.service_queues AS Q
JOIN sys.internal_tables AS I
ON Q.object_id = I.parent_object_id; --查看服务和队列
SELECT S.name, Q.name
FROM sys.services AS S
JOIN sys.service_queues AS Q
ON S.service_queue_id = Q.object_id; ----服务和约定的映射关系
sys.service_contract_usages SELECT S.name AS [Service], Q.name AS [Queue], C.name AS [Contract]
FROM sys.services AS S
JOIN sys.service_queues AS Q
ON S.service_queue_id = Q.object_id
JOIN sys.service_contract_usages AS U
ON S.service_id = U.service_id
JOIN sys.service_contracts AS C
ON U.service_contract_id = C.service_contract_id; --清除处于错误状态的会话
DECLARE @handle AS UNIQUEIDENTIFIER;
DECLARE conv CURSOR FOR
SELECT conversation_handle
FROM sys.conversation_endpoints
WHERE state = 'ER';
OPEN conv;
FETCH NEXT FROM conv INTO @handle;
WHILE @@FETCH_STATUS = 0
BEGIN
END Conversation @handle WITH CLEANUP;
FETCH NEXT FROM conv INTO @handle;
END
CLOSE conv;
DEALLOCATE conv; SELECT * FROM sys.transmission_queue SELECT * FROM sys.conversation_endpoints ORDER BY security_timestamp DESC
SELECT * FROM sys.service_queue_usages
SELECT * FROM sys.dm_broker_connections
SELECT * FROM sys.dm_broker_activated_tasks
SELECT * FROM sys.dm_broker_queue_monitors SELECT * FROM sys.dm_os_performance_counters
SELECT * FROM sys.dm_os_performance_counters WHERE object_name='SQLServer:Broker Statistics'
SELECT * FROM sys.dm_os_performance_counters WHERE object_name='SQLServer:Broker/DBM Transport'
SELECT * FROM sys.dm_os_performance_counters WHERE object_name='SQLServer:Broker Activation'
SELECT * FROM sys.dm_os_performance_counters WHERE object_name='SQLServer:Broker TO Statistics'

sql server Service Broker 相关查询的更多相关文章

  1. 在Windows Server 2008 R2 Server中,连接其他服务器的数据库遇到“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker ”

    项目代码和数据库部署在不同的Windows Server 2008 R2 Server中,错误日志显示如下: "未启用当前数据库的 SQL Server Service Broker,因此查 ...

  2. The SQL Server Service Broker for the current database is not enabled

    把一个数据恢复至另一个服务器上,出现了一个异常: The SQL Server Service Broker for the current database is not enabled, and ...

  3. SQL Server Service Broker创建单个数据库会话

    概述 SQL Server Service Broker 用来创建用于交换消息的会话.消息在目标和发起方这两个端点之间进行交换.消息用于传输数据和触发消息收到时的处理过程.目标和发起方既可以在同一数据 ...

  4. SQL Server Service Broker创建单个数据库会话(消息队列)

    概述 SQL Server Service Broker 用来创建用于交换消息的会话.消息在目标和发起方这两个端点之间进行交换.消息用于传输数据和触发消息收到时的处理过程.目标和发起方既可以在同一数据 ...

  5. SQL Server Service Broker(简称SSB)资料

    SQL server Service Broker (下面简称SSB) 是SQL server 里面比较独特的一个功能.它可帮助开发人员构建异步的松散耦合应用程序.SSB的一些功能和好处包括有: 数据 ...

  6. SQL问题:未启用当前数据库的 SQL Server Service Broker

    数据库分离后,附加回到数据库,然后在程序中打开调用数据库的页面,出现如下问题:“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持.如果希望使用通知,请为此数 ...

  7. SQL Server Service Broker 简单例子 (转)

    SQL Server Service Broker服务体系结构 消息类型 — 定义应用程序间交换的消息的名称.还可以选择是否验证消息.约定 — 指定给定会话中的消息方向和消息类型.队列 — 存储消息. ...

  8. Reusing dialogs with a dialog pool--一个sql server service broker例子

    一个sql server service broker例子 ----------------------------------- USE master GO -------------------- ...

  9. 未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker

    昨晚遇到的这个问题,也知道Notifications service依赖底层的Service broker的.本以为只需要执行以下脚本对数据库启用Service broker即可. alter dat ...

随机推荐

  1. UOJ #35. 后缀排序 后缀数组 模板

    http://uoj.ac/problem/35 模板题,重新理了一遍关系.看注释吧.充分理解了倍增的意义,翻倍之后对上一次排序的利用是通过一种类似于队列的方式完成的. #include<ios ...

  2. ARC 101 C - Candles

    题面在这里! 显然直接枚举左端点(右端点)就OK啦. #include<cstdio> #include<cstdlib> #include<algorithm> ...

  3. 解决XP系统访问Win10打印机被拒绝的问题

    打印机是办公室人员经常会用到的设备,为了方便多人使用都会将打印机设置共享,可是会有许多xp系统用户需要访问win10系统上的打印机,这时候却发现拒绝访问无法连接,该如何解决呢? 其实这是win10做的 ...

  4. mysqldump导出CSV格式及where导出时间范围问题解决

    众所周知,mysqldump不但可以导出sql格式,还可以导出csv格式. 导出CSV格式的具体使用如下命令. mysqldump -uroot -ppassword -S /tmp/mysql999 ...

  5. vscode 插件设置

    VS Code 安装插件 prettier Beautify vscode 首选项 --> 设置 "editor.detectIndentation": false, &qu ...

  6. Swift使用NSKeyedArchiver进行数据持久化保存的经验

    iOS提供了几种数据持久化保存的方法,有NSKeyedArchiver,Property List,NSUserDefaults和CoreData.我学习下来,觉得保存应用内的诸如列表,记录这些东西, ...

  7. CentOS 6下搭建LAMP环境

    第一步,使用Xshell管理工具连接远程服务器 第二步,输入服务器账号密码登录远程服务器 如果centos内置的yum源可用的软件偏少或者版本过低,请更新! 首先备份/etc/yum.repos.d/ ...

  8. Digital Adjustment of DC-DC Converter Output Voltage 电阻选择

  9. [转].net reactor 学习系列(三)---.net reactor代码自动操作相关保护功能

    接上篇,上篇已经学习了界面的各种功能以及各种配置,这篇准备学习下代码控制许可证. 代码控制许可证的意思就是软件经过.net reactor保护后,到期时客户端就需要购买许可证,这时软件开发商就需要生成 ...

  10. SpringMvc(1) --Eclipse搭建web项目

    http://blog.csdn.net/uucai http://blog.csdn.net/uucai/article/details/21258575