一、故障描述

  对正在运行中的SQL Server服务器修改其IP地址,导致该实例的所有连接都突然中断。 

 

1. 报错

  重启实例,报错。

 

2. Windows事件

  打开“事件查看器”,查看以下错误。 

 

 

 

 

 

3. SQL Server日志

  启动日志由SQL Server启动参数的“-e” 参数进行指定。默认路径在 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log

 

2012-08-06 18:22:23.24 spid7s      The resource database build version is 10.50.2500. This is an informational message only. No user action is required.

2012-08-06 18:22:23.43 服务器         A self-generated certificate was successfully loaded for encryption.
2012-08-06 18:22:23.43 spid7s      Server name is 'PC2010'. This is an informational message only. No user action is required.
2012-08-06 18:22:23.43 服务器         Server is listening on [ 127.0.0.1 <ipv4> 1433].
2012-08-06 18:22:23.43 服务器         错误: 26024,严重性: 16,状态: 1。
2012-08-06 18:22:23.43 服务器         Server failed to listen on 192.168.0.157 <ipv4> 1433. Error: 0x2741. To proceed, notify your system administrator.
2012-08-06 18:22:23.43 spid10s     Starting up database 'model'.
2012-08-06 18:22:23.43 服务器         错误: 17182,严重性: 16,状态: 1。
2012-08-06 18:22:23.43 服务器         TDSSNIClient initialization failed with error 0x2741, status code 0xa. Reason: 无法初始化 TCP/IP 侦听器。 在其上下文中,该请求的地址无效。

2012-08-06 18:22:23.46 服务器         错误: 17182,严重性: 16,状态: 1。

2012-08-06 18:22:23.46 服务器         TDSSNIClient initialization failed with error 0x2741, status code 0x1. Reason: 初始化失败,出现基础结构错误。请检查以前的错误。 在其上下文中,该请求的地址无效。

2012-08-06 18:22:23.46 服务器         错误: 17826,严重性: 18,状态: 3。

2012-08-06 18:22:23.46 服务器         Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2012-08-06 18:22:23.46 服务器         错误: 17120,严重性: 16,状态: 1。
2012-08-06 18:22:23.46 服务器         SQL Server could not spawn FRunCM thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
Cannot close event log because there are still event handle users active.

 

二、可选的解决方法

1. 修改TCP/IP 属性的IP 地址

  修改该实例的协议。修改TCP/IP协议的属性,将IP地址更新为当前的最新IP 地址。然后重启该实例。

 

 

2、全部侦听

  再检查SQL Server 实例的TCP/IP属性,发现“全部侦听”为“否”。此设置将导致此实例仅侦听几个固定的IP地址。

  将其改为“是”,此设置将导致此实例侦听所有网卡上的所有IP 地址。重启该实例,也OK。