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

详细信息

Attribute
产品名称 SQL Server
事件 ID 1418
事件源 MSSQLSERVER
组件 SQLEngine
符号名称 DBM_PARTNERNOTFOUND
消息正文 服务器网络地址 “%.*ls” 无法访问或不存在。 请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。

说明

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

备注

默认情况下,Microsoft 操作系统会阻止所有端口。

用户操作

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

伙伴双方可能都需要执行更正操作。 例如,如果在主体服务器实例上尝试运行 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

你可能感兴趣的