sql 2012先分离迁移mdf mlf 文件到别的机器后附加 数据库成只读的修复方法
从本地分离的数据库文件放到远程服务器上,附加数据库出现数据库为(只读情况)阅读了以下两篇文章:
啰嗦的话就不多说了,直入主题吧!
方案一:
碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定。
方案二:
使用sa登录SQL Server2008附加数据库,附加之后数据库为只读的,然后点数据库-->“属性”-->“选项”-->“状态”,发现“数据库为只读”这一项为True,改为false,如果能够修改的话,那么恭喜你,你的人品不错哦!我在修改的时候又报了这样一个错误:
https://s4.51cto.com/images/blog/202112/16095926_61ba9d7e548ae71271.bmp
这种情况下,找到你的数据文件和日志文件,右击“属性”-->“安全”,添加一个“Network Service”账户,然后赋予该账户完全控制的权限即可。再次使用sa登录,附加数据库,嘿嘿...你会发现,生活如此美好!!!
症状
在sqlserver2005中附加数据库时,附加的数据库会变成只读的,只能进行查询操作。
https://s7.51cto.com/images/blog/202112/16095926_61ba9d7e86a2367273.gif
解决方法
1 打开SqlServer Configuration Manager 开始-》Microsoft Sqlserver 2005-》配置工具-》SqlServer Configuration Manager
https://s9.51cto.com/images/blog/202112/16095926_61ba9d7ea86ef83670.gif
2 在SqlServer Configuration Manager 窗口左边选中SQLServer 2005 服务,在窗口右边会出现一些列表项,选中Sqlserver(MSSqlserver)或SqlServer(SqlExpress)点击右键选择属性。
https://s8.51cto.com/images/blog/202112/16095926_61ba9d7ebaa9629576.gif
3 打开属性窗口,会发现内置帐户下面的下拉框选中的网络服务,将其改为本地服务。
https://s6.51cto.com/images/blog/202112/16095926_61ba9d7ed5ea520013.gif
4 打开SqlServer 2005 ,在只读的数据库上右击选择属性,选中属性窗口左边选择页下面的选项,在窗口右边将“数据库为只读”改为false ,点击确定即可。
https://s4.51cto.com/images/blog/202112/16095926_61ba9d7eeed9826410.gif
结合以上两种情况,我查看2008的配置工具采用的是本账户而非内置账户,然后按照第一个文章的最后一句在数据库文件和数据库日志文件-属性-安全,添加了一个在内置账户处显示的账户,然后改了下数据库只读。就ok了。(后来在文件上又去掉了这个账户的权限,数据依然正常,不是只读,不知道为什么)
https://blog.51cto.com/u_15460722/4846174
页:
[1]