方案一:
碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定。
方案二:
使用sa登录SQL Server2008附加数据库,附加之后数据库为只读的,然后点数据库-->“属性”-->“选项”-->“状态”,发现“数据库为只读”这一项为True,改为false,如果能够修改的话,那么恭喜你,你的人品不错哦!我在修改的时候又报了这样一个错误:
这种情况下,找到你的数据文件和日志文件,右击“属性”-->“安全”,添加一个“Network Service”账户,然后赋予该账户完全控制的权限即可。再次使用sa登录,附加数据库,嘿嘿...你会发现,生活如此美好!!!
第二篇:http://www.cnblogs.com/oec2003/archive/2009/05/08/1452506.html
症状
在sqlserver2005中附加数据库时,附加的数据库会变成只读的,只能进行查询操作。
解决方法
1 打开SqlServer Configuration Manager 开始-》Microsoft Sqlserver 2005-》配置工具-》SqlServer Configuration Manager
2 在SqlServer Configuration Manager 窗口左边选中SQLServer 2005 服务,在窗口右边会出现一些列表项,选中Sqlserver(MSSqlserver)或SqlServer(SqlExpress)点击右键选择属性。
3 打开属性窗口,会发现内置帐户下面的下拉框选中的网络服务,将其改为本地服务。
4 打开SqlServer 2005 ,在只读的数据库上右击选择属性,选中属性窗口左边选择页下面的选项,在窗口右边将“数据库为只读”改为false ,点击确定即可。
结合以上两种情况,我查看2008的配置工具采用的是本账户而非内置账户,然后按照第一个文章的最后一句在数据库文件和数据库日志文件-属性-安全,添加了一个在内置账户处显示的账户,然后改了下数据库只读。就ok了。(后来在文件上又去掉了这个账户的权限,数据依然正常,不是只读,不知道为什么)