如何在测试环境中手动清除 MessageBox 数据库中的数据

在开发或测试环境中运行 BizTalk Server 时,存储在 MessageBox 数据库中的数据通常不是业务关键型“实时”数据,因此可能会被删除。 在这些情形下,您可能需要一种快速且简便的方法,从 MessageBox 数据库清理数据。 按照本主题中的步骤操作,使用 bts_CleanupMsgbox 存储过程从 MessageBox 数据库中手动清除数据。

注释

只能在测试环境中执行这些步骤。 不支持在生产环境中手动清除 BizTalk MessageBox 数据库。

停止 BizTalk 服务

  1. 从服务控制台停止 BizTalk 服务的任意实例。

  2. 如果在隔离主机(例如 HTTP、SOAP 或 WCF)中运行任何适配器,请从命令提示符运行 IISRESET 来重启 IIS。

  3. 关闭正在运行的任何自定义独立适配器。

使用 SQL Server 2008 创建和执行bts_CleanupMsgbox存储过程

  1. 依次单击“ 开始”、“ 所有程序”、“ MICROSOFT SQL Server 2008 R2”,然后单击“ SQL Server Management Studio”。

  2. 在“ 连接到 SQL Server ”对话框中,选择 SQL Server 和相应的身份验证方法,然后单击“ 连接”。

  3. “可用数据库 ”下拉列表中,选择 BizTalk Messagebox 数据库(默认情况下,BizTalkMsgBoxDB )。

  4. 单击工具栏上的 “新建查询 ”图标。

  5. 从 SQL Server Management Studio 打开 msgbox_cleanup_logic.sql 文件。 msgbox_cleanup_logic.sql文件位于 BizTalk Server 计算机的 \Program Files (x86)\Microsoft BizTalk Server <VERSION>Schema\ 目录中。

  6. 单击工具栏上的 “执行查询 ”图标以运行脚本以创建bts_CleanupMsgbox存储过程。 然后,可以在存储过程列表中查看存储过程bts_CleanupMsgbox,其名称为dbo.bts_CleanupMsgbox。

  7. 单击工具栏上的 “新建查询 ”图标。

  8. 将以下命令粘贴到新的查询窗口中:

    exec bts_CleanupMsgbox  
    
  9. 单击工具栏上的 “执行查询 ”图标以运行bts_CleanupMsgbox存储过程。

    重要

    不要在运行 BizTalk Server 的生产服务器上运行bts_CleanupMsgbox存储过程。 只应在测试环境中运行bts_CleanupMsgbox存储过程。 不支持在生产环境中运行bts_CleanupMsgbox存储过程。

  10. 根据需要重启 BizTalk 服务。

运行bts_CleanupMsgbox存储过程时的注意事项

运行bts_CleanupMsgbox存储过程时,需要考虑以下事项:

  1. 如果将热修复安装到更新 BizTalk 数据库架构的测试系统上,热修复可能会用此存储过程的空版本覆盖bts_CleanupMsgbox存储过程。 在这种情况下,您需要遵循本主题中所描述的步骤来重新创建 bts_CleanupMsgbox 存储过程。

  2. 如果创建新的 MessageBox 数据库,则bts_CleanupMsgbox存储过程将为空,需要按照本主题中所述的过程重新创建bts_CleanupMsgbox存储过程。

  3. 在生产环境中不支持使用bts_CleanupMsgbox存储过程。 此存储过程将删除 MessageBox 数据库中的所有数据。

另请参阅

如何清除 BizTalk 跟踪数据库中的数据