概述
当我们在运行 BizTalk Server 时,MessageBox 数据库中存储的数据可能需要删除。在这些情况下,需要一个快速的方法将数据从 MessageBox 数据库清除。我们可以使用 bts_CleanupMsgbox 存储过程将数据从 MessageBox 数据库手动清除。但建议大家最好只是在测试、开发环境中执行这些步骤,不建议在生产环境中对那些业务关键的数据进行手动清除。
手动清除MessageBox的方法
停止 BizTalk 服务
- 在服务管理控制台中停止所有BizTalk实例的服务。
- 如果正在运行独立主机(例如 HTTP、SOAP 或 WCF)中的任何适配器,通过从命令提示符下运行 IISRESET 来重新启动 IIS。
- 关闭正在运行的任何自定义独立适配器。
使用 SQL Server 创建和执行 bts_CleanupMsgbox 存储过程
- 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008 R2”和“SQL Server Management Studio”。
- 在“连接到 SQL Server”对话框中,选择 SQL Server 以及相应的身份验证方法,然后单击“连接”。
- 在“可用数据库”下拉列表中,选择 BizTalk Messagebox 数据库(默认情况下为 BizTalkMsgBoxDB)。
- 单击工具栏上的“新建查询”图标。
- 从 SQL Server Management Studio 打开 msgbox_cleanup_logic.sql 文件。msgbox_cleanup_logic.sql 文件位于 BizTalk Server 计算机的 驱动器:\Program Files\Microsoft BizTalk Server 2010\Schema\ 目录。
- 单击工具栏上的“执行查询”图标,以运行脚本创建 bts_CleanupMsgbox 存储过程。bts_CleanupMsgbox 存储过程随后在存储过程列表中显示为 dbo.bts_CleanupMsgbox。
- 单击工具栏上的“新建查询”图标。
- 将命令粘贴到新查询窗口中:exec bts_CleanupMsgbox。
- 执行该查询并根据需要重新启动 BizTalk 服务。