MSSQLSERVER_1418

详细信息

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

说明

服务器网络终结点没有响应,因为无法访问指定的服务器网络地址或不存在。

注释

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

用户操作

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

这两个合作伙伴可能都需要采取纠正措施。 例如,如果在主体服务器实例上尝试运行 SET PARTNER 时引发此消息,则消息可能意味着你只需在镜像服务器实例上采取纠正措施。 但是,可能需要对两个合作伙伴采取纠正措施。

其他纠正措施

  • 确保镜像数据库已准备好进行镜像。

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

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

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

  • 使用sys.database_mirroring_endpoints目录视图的状态state_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

另请参阅

ALTER ENDPOINT (Transact-SQL)
数据库镜像端点 (SQL Server)
为镜像准备镜像数据库 (SQL Server)
SERVERPROPERTY (Transact-SQL)
指定服务器网络地址(数据库镜像)
sys.database_mirroring_endpoints(Transact-SQL)
数据库镜像配置疑难解答 (SQL Server)