SQLServer2005脚本创建数据库中CREATEFILE遇到操作系统错误5(拒绝访问)

原因及解决方法如下:SQLServer启动帐户(通常是系统或操作系统管理员)没有在E盘根目录下创建文件的权限。
右键单击E盘,在属性中的“安全”选项卡中检查用户权限。
检查是谁启动的帐户,运行services.msc,在服务管理器中找到SQLServer服务,然后查看“登录”选项卡,选择本地用户,然后重新启动该服务。

sqlserver2000服务管理器服务:拒绝访问。发生错误5-(拒绝

说明当Microsoft®SQLServer™在sysindexes表中找不到与所请求的表或索引相对应的行时(例如,执行引用已删除的表的存储过程时),就会出现此错误。
对策如果由于存储过程引用已删除的表而发生此错误,请删除并重新创建存储过程。
此错误还可能与其他错误消息一起出现,从而更好地指示问题的根本原因。
在sysindexes上运行DBCCCHECKTABLE也会运行DBCCCHECKDB。
1.DBCCCHECKDB重新启动服务器后,不执行任何操作,在SQL查询分析器中运行以下SQL修复数据库,修复数据库中的一致性错误和分配错误。
usemasterdeclare@databasenamevarchar(255)set@databasename='要修复的数据库实体名称'execsp_dboption@databasename,N'single',N'true'--将目标数据库设置为dbcccheckdb用户的状态(@databasename,维修_ALLOW_DATA_LOSS)dbcccheckdb(@databasename,REPAIR_REBUILD)execsp_dboption@databasename,N'single',N'false'--将目标数据库设置为多用户状态,然后执行需要的DBCCCHECKDB('数据库的数据库实体名称'已修复)检查数据库是否仍然完好有错误。
注意:修复后可能会丢失部分数据。
2.DBCCCHECKTABLE如果DBCCCHECKDB检查仍然存在错误,可以使用DBCCCHECKTABLE来修复它们。
useName待修复的数据库实体的名称declare@dbnamevarchar(255)set@dbname='待修复的数据库实体的名称'execsp_dboption@dbname,'singleuser','true'dbccchecktable('i待修复的数据表名称',REPAIR_ALLOW_DATA_LOSS)dbccchecktable('要修改的数据表名称tobeRepair',REPAIR_REBUILD)------将“要修复的数据表名称”更改为运行DBCCCHECKDB时出错的数据表名称execsp_dboption@dbname,'singleuser','false'