启动 Microsoft Management Reporter 2012 时出现“无法连接到管理报告服务器”错误
本文提供了启动 Microsoft Management Reporter 2012 时可能出现的错误消息的解决方法。
适用于: Microsoft Management Reporter 2012、Microsoft Dynamics GP、Microsoft Dynamics SL 2011
原始 KB 编号: 2862020
症状
启动 Microsoft Management Reporter 2012 (MR 2012) 时,会收到以下错误消息之一:
无法建立与服务器的连接。 请检查服务器地址,然后重试或联系系统管理员。
无法连接到管理报告服务器。 是否指定其他服务器地址?
若要排查管理报告器连接问题,需要对此消息选择“ 确定 ”,然后选择“ 测试连接 ”以获取另一条错误消息。 还需要转到事件查看器以获取有关错误的其他信息。 在“事件查看器”中,选择“Windows 日志”,然后选择“应用程序”。 在“源”列下,查找“管理报告者报表设计器”或“管理报告者服务”。
下面是选择“测试连接”时收到的错误列表,以及事件查看器中看到的可能关联的错误 () 。 在列表中查找错误,并使用相应的原因和解决方法部分。
-
连接尝试失败。 客户端和服务器之间存在版本不匹配。 与系统管理员保持联系。
- 请参阅 原因 1:管理记者的版本不同
-
连接尝试失败。 用户没有连接到服务器的相应权限。 与系统管理员保持联系。
-
无法建立与服务器的连接。 请检查服务器地址,然后重试或联系系统管理员。
注意
Servername 是实际服务器名称的占位符,4712 是管理报告器安装期间选择的实际端口的占位符。 如果检查事件查看器,可能会发现以下错误消息:
消息:System.ServiceModel.Security.SecurityNegotiationException:针对
https://servername:4712/SecurityService.svc
目标的https://servername:4712/SecurityService.svc
SOAP 安全协商失败。 有关更多详细信息,请参阅内部异常。 >--- System.ComponentModel.Win32Exception:安全支持提供程序接口 (SSPI) 协商失败。” -
消息:System.ServiceModel.EndpointNotFoundException:没有终结点侦听
https://servername:4712/InformationService.svc
该消息。 这通常是由不正确的地址或 SOAP 操作引起的。 有关详细信息,请参阅 InnerException(如果存在)。 >--- System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后未正确响应,或者建立连接失败,因为连接的主机无法响应。 -
消息:System.ServiceModel.Security.MessageSecurityException:从另一方收到不安全或不安全的故障。 有关错误代码和详细信息,请参阅内部 FaultException。 >--- System.ServiceModel.FaultException:验证消息的安全性时出错。
-
消息:System.TimeoutException:请求通道在 00:00:40 之后尝试发送超时。 增加传递给 Request 调用的超时值,或增加绑定上的 SendTimeout 值。 分配给此操作的时间可能是较长超时的一部分。 >--- System.TimeoutException:对
https://servername:4712/InformationService.svc
的 HTTP 请求已超过分配的超时 00:00:39.9660000。 分配给此操作的时间可能是较长超时的一部分。 >--- System.Net.WebException:操作已超时或
消息:System.ServiceModel.Security.MessageSecurityException:安全时间戳无效,因为其创建时间 ('2024-09-15T18:08:07.177Z') 为将来。 当前时间为“2024-09-1T18:00:34.847Z”,允许的时钟倾斜为“00:05:00”。
注意
上面指示的日期/时间是实际日期/时间的示例。
-
消息:System.Data.SqlClient.SqlException (0x80131904) :已成功与服务器建立连接,但在登录前握手期间出错。 (提供程序:SSL 提供程序,错误:0 - 证书链由不受信任的颁发机构颁发。)
-
消息:System.ServiceModel.Security.SecurityNegotiationException:服务未对调用方进行身份验证。 >--- System.ServiceModel.FaultException:无法满足安全令牌请求,因为身份验证失败。
-
消息:System.ServiceModel.ProtocolException:远程服务器返回意外响应: (405) 方法不允许。 >--- System.Net.WebException:远程返回错误: (405) 方法不允许。
-
消息:Microsoft.Dynamics.Performance.Common.ReportingServerNotFoundException:找不到服务器。 确保服务器地址正确。
-
消息:收到对 server_name\InformationService.svc 的 HTTP 响应时出错。 这可能是由于服务终结点绑定未使用 HTTP 协议。 这也可能是由于服务器中止了 HTTP 请求上下文, (可能是由于服务关闭了) 。
原因 1:管理记者的版本不同
安装的管理报告器客户端版本与管理报告服务器不同。
解决方案
检查工作站上安装的管理报告器客户端,并检查服务器上安装的 Management Reporter Server。 若要检查管理报告器中的版本,请选择“帮助”,然后选择“关于管理报告器”。 安装的管理报告器客户端需要与管理报告服务器版本相同。
原因 2:未在管理报告器中设置用户
尝试运行管理报告器的用户尚未在管理报告器中设置为用户,因此无法连接。
解决方案
通过执行以下步骤,设置在管理报告程序中收到连接错误的用户:
- 以设置为管理报告器管理员的用户身份运行管理报告器。
- 在“管理报告器”中,选择“ 转到”,然后选择“ 安全性”。
- 添加收到连接错误的用户。
注意
如果不知道管理报告器中存在哪些用户 () ,则可以针对 ManagementReporter 数据库运行 select * from SecurityUser
以找出结果。
原因 3:计算机未连接到管理报告人的域
计算机未连接到安装 Management Reporter 的域。
解决方案
管理报告器仅在连接到在安装期间使用的域时运行。 即使所有 Management Reporter 服务器组件都位于一台计算机上,该计算机仍需要连接到安装 Management Reporter 时使用的域。
注意
这意味着,当演示笔记本电脑未物理连接到域或未使用 VPN 连接进行连接时,管理报告器将不起作用。
原因 4:客户端或服务器上的错误时间
客户端和服务器上的时间相差超过 5 分钟, (允许) 时区差异。
解决方案
验证客户端和服务器上的时间。 更改不正确的时间。 时间必须在彼此之间的五分钟内。
原因 5:端口未设置为防火墙中的排除项
在管理报告器安装期间使用的端口未设置为防火墙软件中的排除项。
解决方案
在防火墙程序中设置例外。 步骤因使用的防火墙程序而异,但下面是高级步骤:
- 选择“开始”,然后选择“运行”。 键入 WF.MSC,然后按 Enter。
- 选择“ 入站规则>”“新建规则”。
- 选择“ 端口”,然后选择“ 下一步”。
- 选择“ 特定本地端口”,然后键入 4712。 如果未使用默认端口 4712,则需要在此处键入该端口。 选择“下一步”。
- 选择 “允许连接”,然后选择“ 下一步”。
- 选择 “域>专用>公共”,然后选择“ 下一步”。
- 键入“管理报告器”作为“名称”,然后选择“ 完成”。
原因 6:启用加密连接时未设置 SSL
安装过程中选择了“加密连接”选项,但未配置安全套接字层 (SSL) 。
解决方案
管理报告器安装指南包含有关加密连接选项的以下信息:
必须先在服务器上配置 SSL 并安装证书,然后才能使用此选项。 有关 Microsoft SQL Server 中的加密的详细信息,请参阅SQL Server文档加密Connections以SQL Server。
还可以通过执行以下步骤来修改配置文件以关闭加密, (在修改文件之前创建文件的备份副本) 。
- 在 Windows 资源管理器中,转到管理报告程序安装文件夹, (默认安装文件为: C:\Program Files\Microsoft Dynamics ERP\Management Reporter\2.1)
- 在“应用程序服务”文件夹中,找到 web.config 文件,然后右键单击该文件以在记事本中将其打开。
- <找到 connectionstrings> 并将“Encrypt=”设置从 True 更改为 False。
- 保存更改。
- 在“进程服务”文件夹中,找到 MRProcessService.exe.config 文件,然后右键单击该文件以在记事本中将其打开。
- <找到 connectionstrings> 并将“Encrypt=”设置从 True 更改为 False。
- 保存更改。
原因 7:计算机无法与域通信或进行身份验证
解决方案
从域中删除计算机,然后将其添加回域。
警告
从域中删除计算机后,需要使用本地管理员帐户登录到计算机一次。
- 选择 “开始”,选择“ 运行”,然后键入 “sysdm.cpl ”以打开“系统属性”。
- 选择“ 更改 ”并记下“域名”。
- 选择“ 工作组”,键入名称 (即“工作组) ”,选择“ 确定” 接受更改,然后重新启动计算机。
- 重启后,选择“ 开始>运行”,然后键入 “sysdm.cpl ”以打开“系统属性”。
- 选择“ 更改”,然后选择“ 域”。
- 输入上面提到的域,选择“ 确定” 接受更改,然后重新启动计算机。
原因 8:管理报告服务器上未安装 WCF HTTP 激活
解决方案
通过执行以下步骤安装 WCF HTTP 激活:
- 在 Windows Server 2008 中,打开服务器管理器,然后选择“功能”。
- 选择“添加功能”,然后展开“.NET Framework”。
- 展开 “WCF 激活”,然后标记 “HTTP 激活”。
- 选择“ 下一步”,然后选择“ 安装”。
原因 9:未为运行 Management Reporter 服务的域帐户创建 SPN
管理报告器服务以域用户身份运行,使用 UPN (用户主体名称) 时 WCF 身份验证失败。
解决方案
在计算机上为运行 Management Reporter 服务的域帐户创建 SPN。 若要为此域帐户创建 SPN,请使用以下命令在 Management Reporter 服务器上的命令提示符处运行 Setspn 工具:
setspn -S HTTP/MRservername domain\customAccountName
setspn -S HTTP/MRservername.fullyqualifieddomainname domain\customAccountName
注意
- 应将“MRservername”替换为安装管理报告器应用程序服务的管理报告器服务器名称。
- 应将“MRservername.FullyQualifiedDomainName”替换为安装 Management Reporter 应用程序服务的管理报告服务器的完全限定域名。
- “domain\customAccountName”应替换为运行 Management Reporter 服务的域帐户。
运行 SETSPN
命令时,可能会收到错误消息:
注册 CN=MSADynamicsGP,OU=Services,OU=Accounts,DC=contoso,DC=com 的 ServicePrincipalNames
HTTP/myserver.contoso.com
未能在帐户“CN=MSADynamicsGP,OU=Services,OU=Accounts,DC=contoso,DC=com”上分配 SPN,错误 0x21c7/8647 ->操作失败,因为为添加/修改提供的 SPN 值不是唯一的林范围。
如果域被锁定并使用委派的管理员帐户,则会发生此错误。 你需要确认此服务器尚未在域之间移动,并且是唯一的。 若要获取所有 SPN 的列表以验证 SPN 值是否对服务器是唯一的,请 Setspn -l <servername>
运行 命令。 创建唯一帐户,然后运行命令也应解决此问题。
在这种情况下,请以完全域管理员身份运行 SETSPN
命令,并更正客户端连接问题。
若要检查组成员身份,请Net user /domain <username>
运行 命令。 命令结果显示“本地组成员身份”和“全局组成员身份”中的组成员身份。 下面是一个示例:
注意
以完全域管理员身份登录时,命令结果将显示“域管理员”组。
原因 10:管理报告服务器上未启用命名管道
解决方案
在“管理报告器”服务器上,打开服务器管理器,然后选择“仪表板”。 在右侧,选择“ 添加角色和功能”。 这将打开一个向导。 选择“ 下一步 ”,直到到达 “功能 ”部分。 展开 .NET Framework 4.6 功能 (或任何) 的最高可用版本。 选择“ 命名管道激活”。 选择“ 下一步 ”并完成向导。
更多信息
如果在进行更改后仍收到错误消息,请联系 Microsoft Management Reporter 支持人员,了解错误,包括来自 事件查看器 的详细信息。