sql2005 附加数据库出错(错误号:5123)解决方法_Mssql数据库教程

编辑Tag赚U币
教程Tag:Createfile添加

推荐:SQL Server 索引介绍
数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力

【错误提示】
无法为此请求检索数据。(Microsoft.SqlServer.SmoEnum)其他信息执行Transact-Sql语句或批处理时发生了异常。(Microsoft.SqlServer.ConnectionInfo)尝试打开或创建物理文件“d:\Data\***.mdf”时,Create file遇到操作系统错误5(拒绝访问。)

【问题背景】
数据库版本:SQL Server 2005企业版
操作系统版本:Windows Server 2003企业版
错误引发描述:数据库分离后,把数据硬盘从一台主机换挂到另一台主机上(两台主机的操作系统和数据库版本都是一样的)。结果附加数据库时,提示上面的错误。

【问题分析】
很明显,是文件操作权限不够引发的问题。

【解决方法】
给数据库文件所在的文件夹属性安全里添加相应的用户并赋予完全操作权限即可解决问题(网上的资料都是这么说的)。给什么用户添加权限呢?比如:Administrators用户组、NETWORK SERVICE、MSSQLUser或Everyone,具体用哪个,看你的SQL服务是哪个帐户启动的,如果不清楚或者懒一点,可以直接添加Everyone用户。本来想上个截图的,不知道为什么,几十Kb的图片,一直上传不成功。

【意外情况】
可能你通过上面的解决方法,给数据文件所在的文件夹添加了相应的用户和操作权限,但问题依旧(这也正是我纠结痛苦的地方,网上都是那么说的,咋就不行哩~~??!)。最后我的解决方法是:给每个数据库文件(包括mdf、ldf、ndf)分别设置用户和操作权限(操作方法和给文件夹加操作权限一样,都是在右键属性里的安全选项)。问题终于彻底得到解决。原因应该是文件夹的权限没有自动继承到里面的文件上。

分享:SQL Server 数据库安全管理介绍
对于数据库应用程序,数据库的安全是至关重要的。SQL Server的安全功能可以保护数据免受未经授权的泄漏和篡改!下边是对安全一章的总结

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2013-04-21
相关Mssql数据库教程