在开发或测试环境中运行 BizTalk Server 时,存储在 MessageBox 数据库中的数据通常不是业务关键型“实时”数据,因此可能会被删除。 在这些情形下,您可能需要一种快速且简便的方法,从 MessageBox 数据库清理数据。 按照本主题中的步骤操作,使用 bts_CleanupMsgbox 存储过程从 MessageBox 数据库中手动清除数据。
注释
只能在测试环境中执行这些步骤。 不支持在生产环境中手动清除 BizTalk MessageBox 数据库。
停止 BizTalk 服务
从服务控制台停止 BizTalk 服务的任意实例。
如果在隔离主机(例如 HTTP、SOAP 或 WCF)中运行任何适配器,请从命令提示符运行 IISRESET 来重启 IIS。
关闭正在运行的任何自定义独立适配器。
使用 SQL Server 2008 创建和执行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 (x86)\Microsoft BizTalk Server <VERSION>Schema\ 目录中。
单击工具栏上的 “执行查询 ”图标以运行脚本以创建bts_CleanupMsgbox存储过程。 然后,可以在存储过程列表中查看存储过程bts_CleanupMsgbox,其名称为dbo.bts_CleanupMsgbox。
单击工具栏上的 “新建查询 ”图标。
将以下命令粘贴到新的查询窗口中:
exec bts_CleanupMsgbox
单击工具栏上的 “执行查询 ”图标以运行bts_CleanupMsgbox存储过程。
重要
不要在运行 BizTalk Server 的生产服务器上运行bts_CleanupMsgbox存储过程。 只应在测试环境中运行bts_CleanupMsgbox存储过程。 不支持在生产环境中运行bts_CleanupMsgbox存储过程。
根据需要重启 BizTalk 服务。
运行bts_CleanupMsgbox存储过程时的注意事项
运行bts_CleanupMsgbox存储过程时,需要考虑以下事项:
如果将热修复安装到更新 BizTalk 数据库架构的测试系统上,热修复可能会用此存储过程的空版本覆盖bts_CleanupMsgbox存储过程。 在这种情况下,您需要遵循本主题中所描述的步骤来重新创建 bts_CleanupMsgbox 存储过程。
如果创建新的 MessageBox 数据库,则bts_CleanupMsgbox存储过程将为空,需要按照本主题中所述的过程重新创建bts_CleanupMsgbox存储过程。
在生产环境中不支持使用bts_CleanupMsgbox存储过程。 此存储过程将删除 MessageBox 数据库中的所有数据。