配置故障排除
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 单一登录 (SSO) 组件时,配置失败并出现如下错误:
尝试访问 SSO 数据库时出错。
函数:FieldInfoCreate
-或-
启用单一登录 (SSO) 服务失败(错误代码 0X800706BA)
原因
如果BizTalk Server和SQL Server安装在不同的计算机上,则在分布式事务处理协调器 (MSDTC) 事务的上下文下执行配置操作,并且 MSDTC 功能必须通过这些计算机之间的网络提供。 如果运行 BizTalk Server 和 SQL Server 的计算机之间无法通过网络使用 MSDTC 功能,则会发生此错误。
解决方法
按照排查 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=Configuration information could not be read from the domain
controller, either because the machine is unavailable, or access has
been denied.;
原因
如果运行 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 文件夹中已存在与 BizTalk Server 配置程序尝试创建的 .mdf 文件或 .ldf 文件同名的 .mdf 文件或 .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 分析数据库
问题
如果您已经对安装了 SQL Server 分析服务器的计算机进行了重命名,当配置程序尝试新建 SQL Server 分析数据库时将失败,并且生成如下错误:
无法连接到存储库。
分析服务器: <计算机名称>
错误:
“\\<machine name>\MsOLAPRepository$\msmdrep.mdb”不是有效路径。
请确保正确拼写路径名称,并且已
并且您已连接到该文件所驻留的服务器。
原因
配置程序无法确定您安装了 SQL Server 分析服务器的计算机的新名称。
解决方法
手动执行下列操作,以便用新的计算机名更新分析服务器:
单击“开始”,依次指向“所有程序”、“Microsoft SQL Server”、“Analysis Services”,然后单击“分析管理器”。
在 “Analysis Manager ”导航面板中,双击“ Analysis Servers” 节点将其展开。
右键单击包含要编辑的存储库连接字符串的服务器,然后选择“编辑存储库连接字符串”。
在 “编辑存储库连接字符串 ”对话框中,验证此字符串中的服务器名称,如果不正确,请将其更新为新的计算机名称。
导航到以下位置: <安装目录>\Program Files\Microsoft Analysis Services\Bin。
右键单击 Bin 文件夹,然后单击“ 共享和安全”。 将显示“ Bin 属性 ”对话框。
在“ Bin 属性 ”对话框中,单击“ 共享 ”选项卡,验证所有联机分析处理 (OLAP) 管理员是否对此文件夹具有完全权限。
当从 Visual Studio 中重新部署程序集时,项目从配置数据库中消失
问题
在 Visual Studio 中的项目级别重新部署BizTalk Server项目时,当刷新BizTalk Server MMC 时,引用要重新部署的项目的项目中包含的所有项目都将消失。
原因
为了说明此问题的原因,请看以下示例,此示例基于一个示例 BizTalk Server 解决方案,用户要在此解决方案中重新部署 Maps 项目。 请注意,对项目进行编译将生成单独的程序集。 下图表示用户在进行重新部署之前,此解决方案的状态。 项目之间的关系如下所示:
Orch1、Orch2、Maps、Pipelines 和 Schemas 为项目。
Orch1 引用 Maps,而 Maps 引用 Schemas。
Orch2 引用 Schemas。
Pipelines 引用 Schemas。
如果用户使用默认的 Visual Studio 项目设置重新部署 Maps 项目,则 Orch1、Orch2 和 Pipeline 项目将消失,如下图所示。
重新部署 Maps 的过程分为两步,首先取消部署当前已部署的 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 仍可见。
解决方法
对于主项目(引用其他项目),请执行以下操作:
在解决方案资源管理器中,右键单击解决方案节点。
单击“ 属性” 打开“ 解决方案属性页 ”对话框。
单击“ 配置属性”,然后单击“ 配置”。
清除所引用项目的“部署检查”框。
在解决方案资源管理器中,执行新的解决方案级别部署。 为此,请右键单击解决方案节点,然后单击“ 部署解决方案”。
支持的虚拟目录类型
从业务流程引用 Web 服务并尝试执行 MSI 导出时,仅当关联的虚拟目录属于 IIsWebVirtualDir 或 IIsWebDirectory 类型时,导出操作才会成功。 IIsWebVirtualDir 和 IIsWebDirectory 是显示在 IIS 元数据库中的节点类型。 IIsWebVirtualDir 是一个虚拟目录,其 Path 属性指向绝对文件夹。 IIsWebDirectory 是一个没有 Path 属性的虚拟目录,因此引用相对文件夹,通常是另一个 IIsWebVirtualDir 或 IIsWebDirectory 节点的子文件夹。 这两种类型是元数据库层次中用于描述文件夹的常见类型。
不支持 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 后不要更改计算机名称。