BizTalk Server管理疑难解答

本部分提供一个集中位置,用于提供有关使用 BizTalk Server 管理控制台时遇到的常见问题的信息。

除了以下已知问题外,使用 BizTalk Server 管理控制台的常见问题和解决方法还提供了其他信息。

已知问题

ENTSSO 服务中的延迟阻止BizTalk Server服务启动

问题

在 DTC 未设置为自动启动的情况下重启计算机可能会阻止BizTalk Server服务启动。

原因

这是因为 ENTSSO 服务启动所需的时间可能比BizTalk Server服务超时持续时间所允许的时间长。

解决方案

若要解决此问题,请将 DTC 设置为 automatic。 如果 DTC 已群集化,则应将其设置为手动启动,因为群集服务正在管理群集服务的启动和停止。

SQL 资源可能会锁定

问题

可能会出现以下错误:

事务(进程 ID 95)与另一进程在锁定资源上发生死锁,并且已被选为死锁牺牲品。 重新运行该事务。

原因

这种情况很少见,一名用户执行的管理操作导致另一用户被锁定,而无法进行数据库管理。

解决方案

该问题会在短时间内自我进行纠正。 请在几分钟后再次尝试该操作。

SQL 数据库可能会被锁定

问题

用户可能被锁在 SQL 数据库之外。 可能会返回一些不同的错误消息。

原因

在某些情况下,向数据库进行写入的一名用户会有效地将另一名用户锁在数据库之外。

解决方案

该问题会在短时间内自我进行纠正。 请在几分钟后再次尝试该操作。

终止多个 messagebox 环境中的多个服务实例失败并出现错误

问题

尝试从 BizTalk Server 管理控制台终止多个服务实例失败,显示一个与以下所示内容类似的错误:

SQL Server 阻止访问组件“Agent XPs”的“sys.xp_sqlagent_enum_jobs”过程,因为此组件作为此服务器的安全配置的一部分而被关闭。

注意

在 messagebox 环境中会出现此问题。

原因

如果 SQL 代理作业“Operations_OperateOnInstances_OnMaster_<dbName>”未在辅助 messagebox 数据库上运行,则多消息框环境中可能会出现此问题。 此作业必须正在运行,才能将信息从辅助 messagebox 数据库传播到主 messagebox 数据库。 如果该作业未启用或者如果发生登录故障,则此作业将无法运行。

解决方案

如果使用 BizTalk 管理控制台同时对多个服务实例执行操作,并且BizTalk Server环境配置了多个 messagebox 数据库,请验证是否在所有辅助 (非主数据库) messagebox 数据库上启用了名为“Operations_OperateOnInstances_OnMaster_<dbName>”的SQL Server 代理作业。 此外,托管辅助 messagebox 数据库的 SQL Server 计算机上的 SQL Server 代理服务必须作为辅助 messagebox 数据库的 BTS_SQLAGENT_USER 数据库角色中包含的帐户运行。

注意

<dbname> 是 BizTalk messagebox 数据库的实际名称的占位符。

请按照以下步骤,将 SQL Server 代理服务帐户添加到辅助 messagebox 数据库的 BTS_SQLAGENT_USER 数据库角色

2008 SQL Server

  1. 单击“开始”,指向“所有程序”,指向“Microsoft SQL Server 2008”,然后单击“SQL Server Management Studio”。

  2. 出现提示时,选择“数据库引擎”的服务器类型,然后输入或选择承载辅助 messagebox 数据库的服务器名称

  3. 单击以展开 数据库,单击以展开辅助消息框数据库,单击展开 安全性,单击以展开 角色,单击展开 数据库角色,然后双击BTS_SQLAGENT_USER数据库角色。

  4. 单击 “添加” 按钮。

  5. 单击“浏览”,选择SQL Server 代理服务帐户所属的组,然后单击“确定”。

注意

如果 SQL Server 代理服务帐户不是指定组的成员,则您需要将其添加到该组。

在 BizTalk 管理控制台的一个实例中应用的更改不会在 BizTalk 管理控制台的其他实例中自动更新

问题

如果 BizTalk 管理控制台的多个实例同时连接到同一个BizTalk Server组,则 BizTalk 管理控制台的一个实例中所做的更改不会自动反映在 BizTalk 管理控制台的另一个实例 () 中。 如果项目的状态与 BizTalk 管理数据库中存储的项目的实际状态不匹配,则在尝试修改 BizTalk 管理控制台实例中显示的项目时,这可能会导致并发冲突错误。

原因

BizTalk 管理控制台的每个实例都维护自己的 BizTalk 组配置的缓存,并且仅反映缓存中的更改。 仅当刷新 BizTalk 管理控制台视图时,缓存才会更新。

解决方法

如果在 BizTalk 管理控制台中收到并发冲突错误,请通过单击 BizTalk 管理控制台工具栏上的“ 刷新 ”按钮或按 F5 键来更新 BizTalk 管理控制台实例的缓存。

尝试通过 BizTalk 管理控制台停止业务流程时,出现无法执行“停止”操作的错误

问题

尝试在 BizTalk 管理控制台中停止业务流程时,将生成类似于以下内容的错误消息:

Failed to execute action 'Stop'.
------------------------------
ADDITIONAL INFORMATION:
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) (Microsoft SQL Server, Error: 10054)

如果满足以下条件,则可能会出现此问题:

  • BizTalk 管理控制台已打开。

  • BizTalk 管理数据库安装在 SQL Server 的群集实例上。

  • SQL Server 的群集实例已故障转移。

  • 故障转移完成后,尝试使用 BizTalk 管理控制台停止正在运行的业务流程实例。

原因

BizTalk 管理控制台与 BizTalk Server 管理数据库保持连接。 在故障转移期间,当与 BizTalk Server 管理数据库的连接断开时,某些管理任务可能会返回“连接失败”或“无法执行”错误,直到 BizTalk 管理控制台关闭并重新打开。

解决方法

关闭并重新打开 BizTalk 管理控制台。 重新打开 BizTalk 管理控制台时,它会创建与指定BizTalk Server管理数据库的新连接。

以前删除的 Windows 组名称无权访问BizTalk Server数据库

问题

如果在重新安装BizTalk Server时使用以前删除的 Windows 组名称,则 Windows 组将无法访问BizTalk Server数据库。

原因

删除 Windows 组,然后创建同名的 Windows 组会为 Windows 组生成新的安全标识符 (SID) 。 但是,旧 SID 仍缓存在 SQL Server 中,因此新的 Windows 组无法登录到SQL Server。

解决方法

删除 Windows 组时,还必须删除 Windows 组的SQL Server登录名。

BizTalk 管理员无法启动 BizTalk Server 管理控制台

问题

BizTalk 管理员 (BizTalk 管理员 Windows 组的成员) ,如果该用户不是本地计算机上的 Windows 管理员组的成员,则可能无法打开BizTalk Server管理控制台。

原因

如果重新安装或重新配置了BizTalk Server,则可能会出现此问题。 这是因为SQL Server使用了缓存的安全 ID。

解决方法

暂时将 BizTalk 管理员添加到本地计算机上的本地 Windows 管理员组。 成功打开 BizTalk Server 管理控制台后,从本地计算机上的本地 Windows 管理员组中删除 BizTalk 管理员。

无法在远程计算机上启动主机实例

问题

在远程计算机上创建 BizTalk 主机实例时,启动 BizTalk 主机实例时可能会看到以下错误:“由于登录失败,无法启动。”

原因

如果为运行 BizTalk 主机实例时使用的服务帐号输入了无效凭据,或者该服务帐号没有“以服务方式登录”权限,会出现此错误。

解决方法

启动 BizTalk 主机实例之前,为远程计算机中的服务帐户分配“以服务方式登录”权限。 此操作在本地计算机上自动完成,但必须在远程计算机上手动完成。

在选择了“仅限 32 位”选项的 X64 计算机上创建或配置主机实例失败

问题

在BizTalk Server管理控制台中,在选中“仅 32 位”选项的 X64 计算机上创建 BizTalk 主机实例 (默认) 可能会失败。

在 BizTalk Server 配置管理器中在 X64 计算机上配置 BizTalk Server 运行时时,在选择了“仅限 32 位”选项的情况下创建进程内或独立的主机实例可能导致服务无法启动。

原因

Unknown

解决方法

此问题是间歇性的。 尝试再次创建或配置主机,或者取消选中“仅限 32 位”选项。

主机实例删除不清除注册表信息

问题

如果你不是本地计算机上的管理员,则删除进程内或独立主机时,将显示“拒绝访问”错误消息。 可以强行删除主机。 但是,以这种方式删除主机不会清除所有相关注册表信息。

原因

删除与主机实例相关的注册表信息需要管理员权限。

解决方法

在删除主机之前,以本地管理员帐户身份登录,以便同时删除相关的注册表信息。

无法删除 MessageBox 数据库

问题

可能无法删除 MessageBox 数据库。 如果删除失败,则可能是以下问题之一:

  • 缓存刷新间隔尚未过期。

  • MessageBox 数据库包含不完整的实例。

    如果缓存刷新间隔尚未过期,则删除失败时会出现以下错误消息:“无法删除 MessageBox,因为 MessageBox 中可能存在剩余工作。 请确保 MessageBox 中没有更多不完整的实例,然后重试。”

原因

缓存刷新间隔必须在在 MessageBox 数据库中禁用新消息发布和删除数据库之间过期。 默认情况下,缓存刷新间隔为 60 秒。

解决方法

若要删除 MessageBox 数据库,必须先禁用该 MessageBox 数据库的新消息发布,然后等待缓存刷新间隔过期,然后才能删除 MessageBox 数据库。

如果 MessageBox 数据库包含不完整的服务实例,将显示以下错误消息:“无法删除 MessageBox,因为它可能仍包含不完整的实例。 确保 MessageBox 中没有不完整的实例,然后重试”。

您可以使用 BizTalk Server 管理控制台中的“组中心”页查看 MessageBox 数据库中不完整的服务实例。 有关在“组中心”页中查看服务实例的状态的信息,请参阅 如何搜索跟踪的服务实例

另请参阅

故障排除