当您更改为一个值该值不是有效的启动参数对于群集实例的 SQL Server 2000 或 SQL Server 2005 的 SQL Server 服务不能启动

症状

在群集环境中, 当您更改为一个值该值,不是有效,协议参数对于群集实例的 Microsoft SQL Server 2000 或 Microsoft SQL Server 2005 的 SQL Server 服务无法启动。 此外,回为原来的值不能更改该协议参数。

例如,当您使用 SQL Server 配置管理器将对于群集实例的 SQL Server 侦听所有 设置为 时, 的 SQL Server 群集的实例无法启动。 另外,SQL Server 中记录以下错误信息错误日志:
服务器 TDSSNIClient 初始化失败,出现错误 0x32,状态代码 0x1c。

原因

发生此问题,因为启动 SQL Server 服务时群集服务从一个群集检查点中获得一种不正确的协议设置。

 

替代方法

若要解决此问题,请按照下列步骤操作:
1. 通过群集管理器使 SQL Server 资源脱机。
2. 在命令提示符处,运行下面的命令来禁用群集检查点对于特定的注册表子项之一:
实例的 SQL Server 2005,运行以下命令:
cluster res"SQL Server"/removecheck:"Software\Microsoft\Microsoft SQL Server\ MSSQL.x \MSSQLSERVER"
注意 在此命令,MSSQL.x 是一个占位符,代表 SQL Server 实例的实例 ID。 您可以确定相应的值为 MSSQLSERVER 注册表项下面的注册表子项中的系统从值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\
对于 SQL Server 2000 的默认实例,运行以下命令:
cluster res"SQL Server"/removecheck:"Software\Microsoft\MSSQLServer\MSSQLSERVER"
对于 SQL Server 2000 的命名实例,运行以下命令:
cluster res"SQL Server"/removecheck:"SOFTWARE\Microsoft\Microsoft SQL Server\ InstanceName \MSSQLSERVER"
注意 在此命令,InstanceName 是一个占位符,代表 SQL Server 2000 实例的名称。
3. 在所有节点上的 SQL Server 群集实例更正该协议参数。
4. 在命令提示符处,运行下面的命令,以便群集检查点对于特定的注册表子项之一:
实例的 SQL Server 2005,运行以下命令:
cluster res"SQL Server"/addcheck:"Software\Microsoft\Microsoft SQL Server\ MSSQL.x \MSSQLSERVER"
对于 SQL Server 2000 的默认实例,运行以下命令:
cluster res"SQL Server"/addcheck:"Software\Microsoft\MSSQLServer\MSSQLSERVER"
对于 SQL Server 2000 的命名实例,运行以下命令:
cluster res"SQL Server"/addcheck:"SOFTWARE\Microsoft\Microsoft SQL Server\ InstanceName \MSSQLSERVER"
5. 将 SQL Server 资源联机。

你可能感兴趣的:(SQL Server 2000)