故障排除配置

Microsoft BizTalk Server 配置程序在运行 SQL Server 的一台或多台计算机上创建数据库,使用 BizTalk Server 使用的表、角色和存储过程填充数据库,并将运行时使用的 .NET 程序集部署到 BizTalk 管理数据库。

本部分讨论解决配置错误的故障排除方法。 它还列出了一些常见的配置问题以及如何解决这些问题。

配置日志记录

配置程序将详细信息写入配置文件,该文件默认位于运行BizTalk Server 的计算机的临时目录中。 若要确定 TEMP 环境变量指定的文件夹,请在此计算机上打开命令提示符,键入以下命令,然后按 Enter:

echo %TEMP%

配置文件包含所执行配置步骤的摘要,以及有关在配置过程中可能发生的任何故障的诊断信息。 如果发生配置错误,请在文本编辑器(如记事本)中打开配置日志,并检查日志文件中是否存在错误的可能原因。

故障排除工具

使用 SQL Server Profiler、Filemon 或 Regmon 收集有关配置失败的其他信息。 有关这些工具的详细信息,请参阅 用于故障排除的工具和实用工具

已知问题

在单独的计算机上安装 BizTalk Server 和 SQL Server 时配置失败

问题

尝试配置 Enterprise Single Sign-On (SSO) 组件时,配置失败并出现类似于以下内容的错误:

尝试访问 SSO 数据库时出错。

函数:FieldInfoCreate

-或-

未能启用单 Sign-On(SSO)服务(错误代码0X800706BA)

原因

如果 BizTalk Server 和 SQL Server 安装在不同的计算机上,则配置操作是在分布式事务协调器(MSDTC)事务的上下文中执行的,并且这些计算机之间的网络必须提供 MSDTC 功能。 如果 MSDTC 功能在运行 BizTalk Server 和 SQL Server 的计算机之间无法通过网络使用,则可能会出现此错误。

决议

按照 MSDTC 问题疑难解答 中的步骤,确保运行 BizTalk Server 和 SQL Server 的计算机之间通过网络实现 MSDTC 功能。

防病毒软件干扰配置并导致配置失败

问题

当防病毒软件错误地确定配置程序是病毒时,BizTalk Server 配置失败。

原因

防病毒软件尚未更新,以将 BizTalk Server 配置程序作为合法(非病毒)程序包含在内。

决议

将防病毒程序配置为将 BizTalk Server 配置程序识别为合法(非病毒)程序,或者在配置程序运行时暂时禁用防病毒软件。

配置失败并出现“找不到文件或程序集名称 FileName.dll或其依赖项之一”错误

问题

在配置过程中显示类似于以下内容的错误:

未能部署 BizTalk 系统程序集“C:\Program Files\Microsoft\

BizTalk Server 2009\Microsoft.BizTalk.DefaultPipelines.dll。 未指定

异常:文件或程序集名称 FileName .dll或其之一

未找到依赖项。 文件或程序集名称 FileName .dll,或

找不到其中一个依赖项。

原因

如果网络服务帐户对运行 BizTalk Server 的计算机上的临时文件夹没有写入权限,则可能会出现此错误。 在配置期间,BizTalk Server 配置使用 Windows Management Instrumentation (WMI) 将 .NET 程序集部署到 BizTalk 管理数据库。 WMI 在将这些程序集部署到 BizTalk 管理数据库时模拟网络服务帐户,因此网络服务帐户必须具有对运行 BizTalk Server 的计算机上的临时文件夹的写入访问权限。

决议

授予网络服务帐户对运行 BizTalk Server 的计算机上的临时文件夹的写入访问权限,并再次运行配置程序。 若要确定 TEMP 环境变量指定的文件夹,请在计算机上打开命令提示符,键入以下命令,然后按 Enter:

echo %TEMP%  

如果运行 SQL Server 的计算机的 NetBIOS 名称超过 15 个字符,组的配置将失败

问题

BizTalk Server 组配置失败,BizTalk Server 配置日志中会显示类似于以下内容的错误:

2006-08-29 23:54:00:0902 [WARN] AdminLib GetBTSMessage: hrErr=80070547;

Msg=无法从域中读取配置信息

控制器,要么是因为机器不可用,要么是因为访问已经

被拒绝。;

原因

如果运行 SQL Server 的计算机的 NetBIOS 名称长度超过 15 个字符,则会出现此问题。 如果 NetBIOS 名称超过 15 个字符,则 Windows 会将 NetBIOS 名称截断为 15 个字符,并且 NetBIOS 名称将不再与此计算机的完全限定域名(FQDN)或 DNS 名称的第一部分匹配。 如果 NetBIOS 名称与计算机的 FQDN 的第一部分不匹配,组配置将失败。

决议

将运行 SQL Server 的计算机的 NetBIOS 名称更改为不超过 15 个字符的名称,然后再次运行配置。

注释

如果重命名计算机,则必须重新启动计算机。

如果在 SQL Server 数据文件夹中已经存在一个与指定数据库同名的 SQL Server 数据库文件,则配置会失败。

问题

配置失败,出现如下错误:

未能设置 BAM 数据库

无法打开登录名“BAMPrimaryImport”中请求的数据库

登录失败。 用户“BizTalk\BizTalkUser”登录失败

原因

如果运行 SQL Server 的计算机的 \MSSQL\data 文件夹中已存在一个.mdf文件或 .ldf 文件,该文件夹的名称与 .mdf 文件或 BizTalk Server 配置程序尝试创建的 .ldf 文件相同,则可能会出现此错误。 为数据库创建的.mdf文件和 .ldf 文件的名称派生自 BizTalk Server 配置程序中指定的数据库的名称,并追加了.mdf和 .ldf 扩展名。

决议

若要解决此行为,请使用以下方法之一:

  • 删除任何.mdf文件或具有与所创建的任何数据库的名称匹配的名称的 .ldf 文件。

  • 选择与 SQL Server 的 \Program Files\Microsoft SQL Server\MSSQL\data 文件夹中已存在的任何.mdf文件或 .ldf 文件的名称不匹配的数据库名称。

指定本地帐户时域控制器上的配置失败

问题

在域控制器上运行 BizTalk Server 配置程序时,如果为 BizTalkServerApplication 主机或 BizTalkIsolatedHost 主机指定了本地组(例如 BizTalk 主机用户组),则配置将失败。

原因

域控制器自动将本地 Windows 组视为域 Windows 组(域控制器上没有本地 Windows 组)。 如果在运行配置程序时为主机指定了本地 Windows 组,则在尝试为组创建 SQL Server 登录时配置将失败。 当服务器是域控制器时,配置程序不会禁用本地 Windows 组选项。

决议

为配置期间创建的主机指定域组。

如果 SQL Server 已重命名,则配置无法创建 SQL Server Analysis 数据库

问题

如果您重命名了安装有 SQL Server Analysis Server 的计算机,当配置程序尝试创建新的 SQL Server Analysis 数据库时将失败,并生成类似于以下内容的错误:

无法连接到存储库。

分析服务器: <计算机名称>

错误:

“\\<machine name>\MsOLAPRepository$\msmdrep.mdb”不是有效的路径。

确保正确拼写路径名称,并确保你正在验证。

连接到文件所在的服务器。

原因

配置程序无法确定安装 SQL Server Analysis Server 的计算机的新名称。

决议

按照以下手动步骤使用新的计算机名称更新分析服务器:

  1. 依次单击“ 开始”、“ 所有程序”、“ Microsoft SQL Server”、“ Analysis Services”,然后单击“ Analysis Manager”。

  2. Analysis Manager 导航面板中,双击 Analysis Servers 节点将其展开。

  3. 右键单击包含要编辑的存储库连接字符串的服务器,然后选择 “编辑存储库连接字符串”。

  4. “编辑存储库连接字符串 ”对话框中,验证此字符串中的服务器名称,并将其更新为新的计算机名称(如果不正确)。

  5. 导航到以下位置: <安装目录>\Program Files\Microsoft Analysis Services\Bin。

  6. 右键单击 Bin 文件夹,然后单击“ 共享和安全”。 此时会显示“ Bin 属性 ”对话框。

  7. 在“ Bin 属性 ”对话框中,单击“ 共享 ”选项卡,验证所有联机分析处理(OLAP)管理员是否对此文件夹拥有完全权限。

在通过 Visual Studio 重新部署程序集时,工件从配置数据库中消失。

问题

当在 Visual Studio 中从项目层面重新部署 BizTalk Server 项目时,所有在该项目中包含的引用正在被重新部署项目的工件将在刷新 BizTalk Server MMC 后消失。

原因

为了说明此问题的原因,请考虑以下示例,该示例基于用户想要在其中重新部署 Maps 项目的示例 BizTalk Server 解决方案。 请注意,编译项目会生成单个程序集。 下图指示在用户重新部署之前解决方案的状态。 工件之间的关系如下所示:

  • Orch1、Orch2、地图、管道和架构是项目。

  • Orch1 引用 Maps,后者又引用 Schemas。

  • Orch2 引用架构。

  • 管道引用架构。

    显示示例 BizTalk Server 解决方案的图像。

    如果用户使用默认的 Visual Studio 项目设置重新部署地图项目,Orch1、Orch2 和 Pipeline 项目将消失,如下图所示。

    显示使用默认 Visual Studio 项目重新部署地图项目的示例的图像。

    重新部署地图是取消部署当前部署的 Maps.dll 程序集,然后部署新 Maps.dll 文件的双重过程。 Visual Studio 会在重新部署过程中自动执行这些步骤。

注释

前面的句子不是严格正确的,因为这些是 Visual Studio 始终执行的步骤,因此没有正确方法的概念。

关键点是,为了取消部署 BizTalk Server 程序集,Visual Studio 必须取消部署所有依赖于该程序集的并且已经设置了部署标志的程序集。 在本示例中,若要执行重新部署的第一个取消部署步骤,BizTalk Server 需要取消部署 Orch1.dll(具体取决于 Maps.dll)。 在卸载 Maps.dll期间,Visual Studio 还会卸载 Schemas.dll(假设它被设置了部署标志)。 为了取消部署 Schemas.dll,Visual Studio 需要取消部署 Orch2.dll 和 Pipelines.dll(这两者都依赖于 Schemas.dll)。

问题在于 Visual Studio 只重新部署 Maps.dll 及其所依赖的程序集:在本例中为 Schemas.dll。 因此,当用户刷新 BizTalk Server MMC 时,Orch1、Orch2 和管道程序集似乎已消失,但 Maps.dll 和 Schemas.dll 仍然可见。

决议

对于主项目(参考其他项目)执行以下操作:

  1. 在解决方案资源管理器中,右键单击解决方案节点。

  2. 单击“ 属性 ”以打开“ 解决方案属性页 ”对话框。

  3. 单击 “配置属性”,然后单击“ 配置”。

  4. 清除所引用项目的 “部署 ”复选框。

  5. 在解决方案资源管理器中,进行新的解决方案层级部署。 为此,请右键单击解决方案节点,然后单击“ 部署解决方案”。

支持的虚拟目录类型

从业务流程引用 Web 服务并尝试执行 MSI 导出时,仅当关联的虚拟目录的类型为 IIsWebVirtualDirIIsWebDirectory 时,导出作才会成功。 IIsWebVirtualDirIIsWebDirectory 是 IIS 元数据库中显示的节点类型。 IIsWebVirtualDir 是一个虚拟目录,其中包含指向绝对文件文件夹 的 Path 属性。 IIsWebDirectory 是没有 Path 属性的虚拟目录,因此引用相对文件文件夹,通常是另一个 IIsWebVirtualDirIIsWebDirectory 节点的子文件夹。 这两种类型通常是元数据库层次结构中用来描述文件夹的类型。

不支持类型 IIsConfigObject 的虚拟目录,在这种情况下,MSI 导出将失败。 IIsConfigObject 是意外的元数据库节点类型,可以是 BizTalk Server 未正确处理的有效节点类型,或者指示错误创建的(因此无效)元数据库条目。 在这种情况下,BizTalk Server 将显示如下所示的错误消息:IIsConfigObject 类型的意外目录条目“IIS://LM/W3SVC/1/ROOT/BadVdir/”。

删除过时登录后无法查看组信息

问题

如果在配置期间遇到并删除过时的登录,则可能无法查看组信息。

原因

这是一个已知的配置问题。

决议

它可能有助于删除主机 Windows 组登录,然后重新配置。 如果组信息仍然不可用,请联系 Microsoft 产品支持部门。

安装 BizTalk Server 后无法更改计算机名称
问题

在运行 BizTalk Server 的计算机上更改计算机名称,并重启(重新启动)计算机时,可能会出现错误消息。

原因

SQL Server 不支持更改计算机名称,因此 BizTalk Server 不支持在安装并配置 BizTalk Server 后更改计算机名称。

决议

建议在安装 BizTalk Server 后不要更改计算机名称。