SQL Server 2008,使用“SQL Server身份验证”方式登录,附加数据库时提示:

无法升级数据库 'XXX',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)


 查看了数据库文件属性,并不是只读的。

从网上找了几种方式::

经查阅资料,发现并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的SQL Server登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:

1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;(测试成功)

2.在登录验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”,即便你的登录帐号是sa; (测试成功)

3.如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限; (没测试)

4.将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service; (没测试)

测试过的两种方法都有一些局限,于是考虑是否可以从权限方面着手。

解决方法很简单:把数据库文件所在的文件夹的“完全控制”权限赋予 users,如果没有Users用户,手动添加一个即可。


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐