首页 » 备忘录 » 正文

解决sql2000迁移后的启动失败错误

有一个客户的旧项目需要运行在sql2000上,但最近将win2003系统整体迁移到腾讯云后却出现了诡异的问题,就是其他所有程序都没有任何问题,唯独sql2000启动失败,这还是在是将系统通过ghost全盘完整还原的情况下,更诡异的是就算我用新的win2003系统来新装sql2000,只要安装sp4补丁包,就必出现同样的问题。在事件查看器中的错误信息为:

17066:
SQL Server 断言: 文件: ,行 = 2833
失败的断言 =“(numSMT & (numSMT – 1)) == 0”。

17310:
SqlDumpExceptionHandler: 进程 1360 发生了严重的异常 c000001d EXCEPTION_ILLEGAL_INSTRUCTION。SQL Server 将终止该进程。

17311:
SQL Server 将终止。发生了严重的异常 c000001d。

在百度上搜索相关信息后几乎没有任何相关的解决方法,但在google中找到了解决方案。

造成这个问题的原因说是由于SQL2000不能在具有超过 4 个内核的系统或具有奇数个内核的系统上启动,可我使用的腾讯云轻量是两个核心的,不过既然方法可以解决这个问题就不管这个了。

解决方案

在注册表中找到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters],然后添加两项:

"SQLArg3"="-T3601"

"SQLArg4"="-T3603"

相关链接:

https://communities.vmware.com/t5/Virtual-Machine-Guest-OS-and-VM/SQL-2000-error-while-migrating-to-ESXi-5-1/td-p/858190

https://www.sqlservercentral.com/forums/topic/sql-server-2000-incompatible-with-6-core-processors

https://social.technet.microsoft.com/Forums/en-us/092b4c5f-dce5-4ccf-8755-a66fe5a8ecf8/sql-server-2000-fails-in-hexacore-server?forum=sqlsetupandupgrade

本文共 6 个回复

发表评论