解决:无法终止无法挂起BizTalk正在运行的服务实例的问题

来源:互联网 发布:淘宝网棒球服女款 编辑:程序博客网 时间:2024/06/07 23:15

算半个技巧吧……

不过我相信这个问题真的曾经困扰着一些人……包括我,和一个与我聊过的客户。

问题是这样的,我们经常将一些业务流程发布为Web Service。在我们测试这些Web Service的时候,会碰到业务流程内部出错的问题。
有的时候,这些测试过程中产生的BizTalk服务实例,会始终处于运行状态,无法终止,无法挂起。

如下图:
我们尝试在组概述中终止活动的服务实例。
1

结果可能是:“失败”。“失败”这里没有截到图。
总之,这可能会导致你的“活动”的服务实例越来越多,如果是生产环境那就会变得非常不可想象。

 

解决方法:
正确开启SQL Server Agent,使BizTalk相关的job正常运行,即可解决该问题。
打开SQL Server管理器,开启SQL Server代理:
2

3

4 

如果开启后,在应用程序日志中发现以下报错:

SQL Server Scheduled Job 'PurgeSubscriptionsJob_BizTalkMsgBoxDb' (0xA0964CF90DBD9D4C84BF48E7BA52CB34) - Status: 失败 - Invoked on: 2010-08-16 14:42:00 - Message: 该作业失败。  无法确定所有者 XXXX/xxxxxxxx (拥有作业 PurgeSubscriptionsJob_BizTalkMsgBoxDb)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 XXXX/xxxxxxxx' 的信息,错误代码 0x5。 [SQLSTATE 42000] (错误 15404)).

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持

报错信息中的Job也可能是BizTalk Server的其他Job:
MessageBox_DeadProcesses_Cleanup_BizTalkMsgBoxDb
MessageBox_Message_Cleanup_BizTalkMsgBoxDb
MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb
MessageBox_Parts_Cleanup_BizTalkMsgBoxDb
MessageBox_UpdateStats_BizTalkMsgBoxDb
Operations_OperateOnInstances_OnMaster_BizTalkMsgBoxDb
PurgeSubscriptionsJob_BizTalkMsgBoxDb
Rules_Database_Cleanup_BizTalkRuleEngineDb
TrackedMessages_Copy_BizTalkMsgBoxDb

如果碰上这个问题,可以尝试为SQL Server代理中的作业,更换更高权限“所有者”的账户:
5

6
经过以上修改即可修复无法终止无法挂起的服务实例问题。

原创粉丝点击