将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;
在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa;
如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全 *** 作权限;
将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service
http://www.cnblogs.com/yourancao520/archive/2012/02/27/2369342.html今天在将一个 SQL Server 2005 数据库附加到 SQL Server 2008 R2 时出现如下的错误:
无法升级数据库 'SchoolPlatForm1',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复 *** 作。 (Microsoft SQL Server,错误: 3415)
查看了数据库文件,他们并没有只读属性,在 SQL Server 2005 中附加都是一切正常的啊。
从网上找了几种方式:
1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;(我用之种方式就可能正常附加数据.下面的几种方式没有尝试).
(C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA)
2.在登录验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”,即便你的登录帐号是sa;
3.如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全 *** 作权限;
4.将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;
遇到这个错误,网络上这个问题的解决方法很少,而且很多都是废话,很像是没人说得出理由的问题。我自己总结了下资料和想法,我觉得这个问题,根本上说,应该是一个sa用户权限的问题,在sql2005里,sa不具有某些 *** 作这样的权限,那么,如何解决呢。除了更改sa的权限外(我不知道怎么修改,一直提示错误),个人觉得可以用windows身份验证登陆,做完需要的 *** 作(我是附加数据库)之后,再重新使用sa帐户登陆,这样避开了这个错误的产生了。以下先介绍下网络上的一个解决方法,我未实践过,不知道是否可行。
附加数据库 对于 服务器“***”失败。 (Microsoft.SqlServer.Smo)
无法升级数据库 ‘******’,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复 *** 作。 (Microsoft SQL Server,错误: 3415)
查看了数据库文件,他们并没有只读属性,在 SQL Server 2000 中附加都是一切正常的啊。点击错误消息对话框的帮助链接
其实这个错误并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的 SQL Server 登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:
将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;
在登录验证时,选择“Windows 身份验证”,而不是“SQL Server 身份验证”,即便你的登录帐号是 sa;
如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全 *** 作权限;
将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)