Day 6447 在 64 位 Windows 10 下继续使用 MSSQL Server 2000

部分非常老的应用因厂家未提供更新,被迫在 Windows 10 下继续沿用其附带的 MSSQL Server 2000,会遇到报错“无法定位序数1于动态链接库C:\Windows\SYSTEM32\SQLUNIRL.dll上”。

该报错来自 SQL Server 2000 的”服务管理器”组件,实际上,SQL Server 2000 并非需要该组件才能正常运行,它只是提供了一个启动、停止 SQL 服务的界面,故该问题有两种解决方法:

1、禁用 SQL Server Service Manager 的自动启动:

右键单击任务栏选择“任务管理器”,在“启动”标签下找到 SQL Server Service Manager,右键单击选择“禁用”即可。

2、如果因为某些原因仍然需要此组件,也可以修复此问题:

以管理员权限打开命令提示符(cmd.exe),执行下列指令为 sqlunirl.dll 获取 TrustedInstaller 权限:

(注:MSSQL2000 是 32 位应用程序,本例 Windows 10 为 64 位版本,故下列指令中实际操作的是存在于 SysWOW64 目录中的文件,如为 32 位 Windows 10,请自行调整操作目标文件)

takeown /f “C:\Windows\SysWOW64\sqlunirl.dll”

icacls “C:\Windows\SysWOW64\sqlunirl.dll” /grant administrators:F

接下来,从 SQL Server 2000 安装包的 _x86\SYSTEM 目录下复制一个原版的 sqlunirl.dll,使用上述指令使其获得 TrustedInstaller 权限(注意修改操作目标),然后覆盖 SysWOW64 下的同名文件即可(注意先获取权限再覆盖,未测试顺序可否颠倒,如操作失败请按顺序操作试试看)。

注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。

All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注