MSSQLSERVER_1418

详细信息

产品名称

SQL Server

产品版本

10.50

产品内部版本号

-

事件 ID

1418

事件源

MSSQLSERVER

组件

SQLEngine

符号名称

DBM_PARTNERNOTFOUND

消息正文

服务器网络地址 "%.*ls" 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。

解释

该服务器网络端点未做出响应,这是因为无法到达指定的服务器网络地址或该地址不存在。

注意注意

默认情况下,Microsoft Windows XP Service Pack 2 和 Windows Vista 会阻塞所有端口。

用户操作

验证网络地址名称并重新发出命令。

伙伴双方可能都需要执行更正操作。例如,如果在主体服务器实例上尝试运行 SET PARTNER 时引发此消息,则此消息可能表示您只需要在镜像服务器实例上执行更正操作。但是,伙伴双方可能都需要执行更正操作。

其他更正操作

  • 确保镜像数据库已为镜像做好准备。

  • 确保镜像服务器实例的名称和端口都正确。

  • 确保目标镜像服务器实例不在防火墙之后。

  • 确保主体服务器实例不在防火墙之后。

  • 使用 sys.database_mirroring_endpoints 目录视图中的 statestate_desc 列验证伙伴上的端点都已启动。如果未启动任一端点,则执行 ALTER ENDPOINT 语句将其启动。

  • 确保主体服务器实例正在侦听分配给其数据库镜像端点的端口,并且镜像服务器实例正在侦听它自己的端口。有关详细信息,请参阅本主题后面的“验证端口可用性”部分。如果某个伙伴没有侦听为其分配的端口,则请修改数据库镜像端点以侦听其他端口。

    安全说明安全说明

    错误配置的安全性可引发常规设置错误消息。通常,服务器实例只删除错误的连接请求而不做出响应。对于调用方,安全配置错误可能由于其他许多原因引起,如镜像数据库处于错误状态或不存在、权限不正确等等。

使用错误日志文件进行诊断

在某些情况下,错误日志文件只能用于进行调查。在这些情况下,请确定错误日志是否包含数据库镜像端点 TCP 端口的错误消息 26023。此错误严重级别为 16,可能指示数据库镜像端点尚未启动。即使 sys.database_mirroring_endpoints 显示端点状态为已启动,也会发生此错误。

解决遇到的所有问题之后,请在主体服务器上重新运行 ALTER DATABASE database_name SET PARTNER 语句。

验证端口可用性

为数据库镜像会话配置网络时,请确保每个服务器实例的数据库镜像端点只由数据库镜像过程使用。如果另一个过程正在侦听分配给数据库镜像端点的端口,则其他服务器实例的数据库镜像过程将无法连接到该端点。

若要显示基于 Windows 服务器正在侦听的所有端口,请使用 netstat 命令提示实用工具。netstat 语法取决于 Windows 操作系统的版本。有关详细信息,请参阅操作系统文档。

Windows Server 2003 Service Pack 1 (SP1)

若要列出侦听端口以及打开这些端口的进程,请在 Windows 命令提示符下输入以下命令:

netstat -abn

Windows Server 2003(SP1 以前的版本)

若要标识侦听端口以及打开这些端口的进程,请按照以下步骤进行:

  1. 获取进程 ID

    若要了解 SQL Server 实例的进程 ID,请连接到该实例并使用以下 Transact-SQL 语句:

    SELECT SERVERPROPERTY('ProcessID') 
    

    有关详细信息,请参阅 SQL Server 联机丛书中的“SERVERPROPERTY (Transact-SQL)”。

  2. 然后,将进程 ID 与以下 netstat 命令的输出进行匹配:

    netstat -ano