查看管理工具中的服务,发现sqlserver.exe服务是由特殊用户运行的,这也是为了服务器的安全考虑:我的电脑–控制面板–管理工具–服务–右键 MSSQLSERVER–属性–登陆–登陆身份

(如果是”本地系统帐户”,则是当前登录操作系统的用户),并检查该用户是否有操作 c:/Program Files/Microsoft SQL Server/MSSQL/data/ 的所有权限。

从安全的角度考虑,将“SQL2000数据库”安装在独立的分区里面,而且,“SQL2000数据库”必须运行在“普通用户”的状态下。所谓“普通用户”就是指没有任何权限的用户。

为什么要将“SQL2000数据库”必须运行在“普通用户”的状态下呢?因为如果使用了“超级管理员”或者“本地系统用户”来运行“SQL2000数据库”,就会造成服务器被入侵。因此,为了您的服务器安全,您务必将“SQL2000数据库”运行在“普通用户”的状态下。同时,要对硬盘的权限做好对应的权限设置“SQL2000数据库”才能正常运行。对于硬盘的权限设置请参考如下:

(假设您的数据安装在E:/Program Files/Microsoft SQL Server/)

1. E盘的根目录(E:/)需要以下权限:
   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户(只应用在当前文件夹)列出文件夹/读数据”的权限
   “读属性”的权限
   “读扩展属性”的权限
   “读取”的权限 2. 数据库的安装目录(E:/Program Files/Microsoft SQL Server/)需要以
   下权限:   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户 ”的全部权限(假设您的数据备份目录安装在F:/SQLBACK)
 1. F盘的根目录(F:/)需要以下权限:
   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户(只应用在当前文件夹)列出文件夹/读数据”的权限
   “读属性”的权限
   “读扩展属性”的权限
   “读取”的权限 2. 数据库的安装目录(F:/SQLBACK)需要以下权限:
   “administrators ”的全部权限
   “System ”的全部权限
   “SQL2000的运行用户 ”的全部权限

 

同时在C:/Documents and Settings也需要加上权限

 

如果出现SQLAgent无法使用了自定义用户无法启动,或者显示“The data portion of event 17052 from MSSQLSERVER is invalid”,有可能是因为这个数据库是从别的地方搬过来。这样的话,就需要在“安全性”->“登录”,添加那个单独用户为超管。