如何从 BizTalk 跟踪数据库中手动清除数据

由于 DTA 存档和清除 SQL Server 代理作业不断清除 BizTalk 跟踪 (BizTalkDTADb) 数据库并对存储的跟踪数据进行压缩,因此可减少从该数据库中手动清除数据的需要。 但是,如果 BizTalk 跟踪 (BizTalkDTADb) 数据库迅速增长,从而导致性能持续下降以及 DTA 存档和清除作业无法跟上数据库的增长速度,则可能需要手动清除数据。

注意

执行此过程将会从 BizTalk 跟踪 (BizTalkDTADb) 数据库中删除已完成实例的所有跟踪数据,而不考虑这些实例的完成时间。 在执行此过程之前,应将 BizTalk 跟踪 (BizTalkDTADb) 数据库与其他 BizTalk Server 数据库分开进行存档。

必备条件

若要执行此过程,必须以 SQL Server sysadmin 固定服务器角色成员的帐户登录。

从 BizTalk 跟踪数据库中手动清除数据

  1. 备份 BizTalk Server 数据库。

  2. 存档 BizTalk 跟踪 (BizTalkDTADb) 数据库。

  3. 打开“服务”控制台。 单击 “开始”,单击“ 运行”,然后键入 services.msc。 如果显示 “用户帐户控制 ”对话框,请单击“ 继续”。

  4. “服务”控制台出现时,查找以下每个服务,然后将它们停止。 若要停止服务,请 右键单击“服务 ”窗格中的服务行,然后单击“ 停止”。

    • BizTalkServiceBizTalkGroup:BizTalkServerApplication

    • 企业单一登录服务

      如果在尝试关闭企业单一 Sign-On 服务时 BizTalkServiceBizTalkGroup:BizTalkServerApplication 服务正在运行,将显示“ 停止其他服务 ”对话框。 单击 “是”

    • 规则引擎更新服务

  5. 依次单击“开始”、“所有程序”、“Microsoft BizTalk Server 20xx”、“BizTalk Server管理”。 如果显示“ 用户帐户控制 ”对话框,请验证所描述的操作是否是所需操作,然后单击“ 继续”。

  6. 在窗口左侧资源管理器窗格中BizTalk Server管理控制台中,双击 BizTalk 组展开其下方的列表,然后双击“平台设置”,然后单击“主机实例”。 这将 (屏幕右侧的“主机实例”窗格) 和相关属性显示 主机实例 的列表。

  7. 在“ 主机实例 ”窗格中,右键单击每个正在运行的主机实例,然后单击“ 停止”。

  8. 单击 “开始”,转到 “运行”,键入 cmd,然后单击“ 确定”。

  9. 在命令提示符处,键入:

    net stop iisadmin /y

    这将逐一停止 IIS 管理服务及所有依存的服务,并在清除数据期间阻止向 BizTalkDTADb 写入新数据。 在停止每个服务时,请记下这些服务的列表。 以后重新启动 IIS 时,将需要使用此服务列表。

    以下是一个在发出此命令后将显示的输出示例(您的计算机上列出的依存服务可能会有所不同):

    The following services are dependent on the IIS Admin Service service. Stopping the IIS Admin Service service will also stop these services.  
    World Wide Web Publishing Service  
    HTTP SSL  
    
  10. 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2008 SP2”、“SQL Server Management Studio”。

  11. 在“连接到服务器”对话框中,指定 BizTalk 跟踪 (BizTalkDTADb) 数据库所在的SQL Server的名称和相应的身份验证类型,然后单击“连接”以连接到相应的SQL Server。

  12. Microsoft SQL Server Management Studio中,双击“数据库”,双击 BizTalkDTADb 数据库,双击“可编程性”,然后单击“存储过程”。

  13. “对象资源管理器详细信息”窗格中,右键单击“dtasp_PurgeAllCompletedTrackingData”,然后单击“执行存储过程”。

  14. 在“执行过程” 对话框中,单击“确定”

    此存储过程将删除与完成的实例相关联的所有跟踪数据,而不考虑其完成时间。

  15. 打开服务。 单击 “开始”,单击“ 运行”,然后键入 services.msc。 如果显示“ 用户帐户控制 ”对话框,请验证所描述的操作是否是所需操作,然后单击“ 继续”。

  16. 右键单击以下每个服务,然后单击“ 启动”:

    • BizTalkServiceBizTalkGroup:BizTalkServerApplication

    • 企业单一登录服务

    • 规则引擎更新服务

  17. 依次单击“开始”、“所有程序”、“Microsoft BizTalk Server 20xx”、“BizTalk Server管理”。

  18. BizTalk Server管理控制台中,双击 BizTalk 组,双击“平台设置”,然后单击“主机实例”。

  19. “对象资源管理器详细信息”窗格中,右键单击每个已停止的主机实例,然后单击“启动”。

  20. 如上面的步骤 8 中所述,启动命令提示符。

  21. 在命令提示符处,重启在步骤 4 中停止的每个 IIS 服务。 键入:

    net start<IISserviceName>

    其中 <IISserviceName> 是要重启的 IIS 服务的名称。 您必须对每个 IIS 服务重复执行此命令。

另请参阅

存档和清除 BizTalk 跟踪数据库
备份和还原 BizTalk Server 数据库
如何启动、停止、暂停、恢复或重启BizTalk Server服务