事件 31551 时操作管理器会尝试连接到数据仓库数据库

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3084547
症状
系统中心操作管理器管理服务器无法连接到或与承载数据仓库数据库的 SQL 群集通信。在此情况下,在操作管理器日志中,如下所示的各种工作流名称的说明以及记录事件 ID 31551:

日志名称: 运营经理
来源: 健康服务模块
日期:
事件 ID: 31551
任务类别: 数据仓库
级别: 错误
关键词: 经典
用户: 不适用
计算机: 服务器。Contoso.com
说明:
无法在数据仓库中存储的数据。将重试该操作。
Sqlexception:: 与网络有关的或特定于实例的错误时发生异常建立与 SQL Server 的连接。服务器找不到或无法访问。验证实例名称正确无误,并且 SQL Server 配置为允许远程连接。(提供程序: SQL 网络接口错误: 26-错误定位的服务器/实例指定)

受此影响一个或多个工作流。

工作流名称: Microsoft.SystemCenter.DataWarehouse.CollectEventData
实例名称: 服务器。Contoso.com
实例 ID: {8A13A832-776E-096E-32E7-DC479FCD6DBC}
管理组: SupportGroup
原因
这里的重点应在以下字符串:

错误: 26-错误定位的服务器/实例指定

此错误经常被认为发生因为在服务器上未启用远程连接。但是,当客户端无法从 SQL 浏览器接收 SSRP 响应 UDP 数据包实际生成此错误。因为 UDP 端口通信将被阻止在管理服务器和 SQL 群集承载操作管理器数据仓库之间,通常会发生此行为。

请注意,仅当您尝试连接到的 SQL Servernamed 实例会发生此错误。连接到默认实例时,它不应该发生。这是,即使在连接尝试失败这一阶段 (例如,由于错误定位指定的服务器或实例),它将继续尝试使用默认值 (示例中的,使用默认 TCP 端口 1433年、 命名管道等的默认管道名称) 的连接。由于更高的故障,但没有此错误消息,可能生成其他错误消息。
解决方案
若要解决此问题,您必须解决任何问题导致 UDP 端口通信管理服务器和 SQL 群集之间失败。在大多数情况下,它是相当容易,按照以下步骤解决此问题:
  1. 确保服务器名称正确无误 (例如,请确保名称没有错误)。
  2. 请确保实例名称正确无误,并在目标计算机上实际存在的实例。请注意,某些应用程序将转换 \\ 到 \。如果您不确定有关您的应用程序,请尝试"服务器 \ 实例"和"server\\instance"中的连接字符串。
  3. 请确保服务器可以访问。请确保可以正确地解析 DNS,并且您可以 ping 服务器。
  4. 请确保在服务器上运行 SQL 浏览器服务。
  5. 如果在服务器上启用了防火墙,请确保 sqlbrowser.exe 和/或 UDP 端口 1434年的异常。

您可以从下面的知识库文章,以测试步骤 4 和 5 中下载 PortQry 实用程序:

832919PortQry v2.0 的新特性和功能

PortQry 后,运行以下命令:

portqry.exe n 服务器名 -p UDP-e 1434

如果该命令返回的信息,并包含的目标实例,则可以排除步骤 4 和 5 中的方案。这意味着,SQL 浏览器运行和防火墙未阻止 SQL 浏览器 UDP 数据包。

之后您已经完成了这些步骤,应该不会再发生错误。管理服务器可能仍然无法连接到 SQL 服务器上,但如果是这样,不同的错误消息应触发的 t 此时。如果管理服务器仍无法连接,替换为"tcp:server\instance""np:server\instance,"利用"服务器 \ 实例",然后查看是否成功与 TCP 或 NP 协议。
更多信息
下面的组合被导致此问题:
  • Windows 群集的详细信息
  • SQL Server 的命名实例的方式被发现
当您连接到 SQL Server 的命名实例中时,客户端组件依赖于 SQL 浏览器,来发现服务器和它的参数。发现过程运行,如下所示:

  • 客户端发送的 UDP 数据包到 SQL 浏览器在目标计算机上。在 Windows 群集命名的实例时,数据包发送到群集 IP,或更具体地说,对应于虚拟机正在运行 SQL Server 的 IP 地址。但是,SQL 浏览器不支持群集,它在任何 IP 侦听。
  • 当 SQL 浏览器接收 UDP 请求数据包时,它会将响应 UDP 数据包重新发送客户端。尽管目标 IP 地址是客户端的 IP 地址,更改的源 IP 地址。它现在是物理 computerinstead 的虚拟 SQL Server IP 地址的网络适配器的 IP 地址。
  • 响应的 UDP 数据包的源 IP 地址是由 Windows 操作系统、 基于路由表决定的。由于虚拟 SQL Server IP 地址和连接到物理网络适配器的 IP 地址通常是位于同一子网,因此属于相同的工艺路线,实际的 IP 地址处于选中状态。根据客户端和服务器计算机上的安全设置,此响应 UDP 数据包可能会删除由第三方防火墙或 IPsec 因为对等 IP 地址已更改。请注意,Windows 防火墙将不会丢弃该数据包。
  • 请注意,如果客户端计算机是基于 Windows Vista 的计算机,IPsec 可能会丢弃该数据包如果在客户端上启用了 IPsec 策略,并且它不能建立信任连接客户端和服务器之间。若要变通解决此问题,请手动连接字符串中指定的 TCP 端口或管道的名称。
OpsMgr 2012 R2

警告:本文已自动翻译

属性

文章 ID:3084547 - 上次审阅时间:08/15/2015 02:10:00 - 修订版本: 1.0

Microsoft System Center 2012 R2 Operations Manager, Microsoft System Center 2012 Operations Manager Service Pack 1, Microsoft System Center 2012 Operations Manager, Microsoft System Center Operations Manager 2007 R2

  • kbexpertiseadvanced kbsurveynew kbtshoot kbmt KB3084547 KbMtzh
反馈