博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天在将一个 SQL Server 2005 数据库附加到 SQL Server 2008时出现如下的错误:附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库test,因为它是只读的,或 者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)

  查看了数据库文件,他们并没有只读属性,在 SQL Server 2005 中附加都是一切正常的啊。

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

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

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

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

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

posted on 2012-04-01 16:51    阅读(413)  评论(0编辑  收藏  举报