- 21
- 0
- 约1.41千字
- 约 5页
- 2017-03-03 发布于湖北
- 举报
SQL Server 2005 Express附加的数据库为“只读”的解决方法
,数据库为“只读”。如下图:
解决:
打开 SQL Server , 右击打开SQL Server SQLEXPRESS 的属性,如下图:
或如下图:
在内置帐号处,把“网络服务”改成“本地系统”,重新启动 总结:之所以附加上的数据库为“只读”,是因为启动SQL Server 的默认的启动帐号“网络服务”对所附加的数据库文件的权限不够造成的。 当我们在附加SQL Server数据库的时候,会出现附加失败,或附加成功后数据库是只读的。也会导致在安装和部署项目中的自动附加数据库操作失败。
解决此问题的几个关键点如下:
1、该现象只会出现在NTFS文件系统中。
2、由NTFS文件系统的访问权限导致。
一般手工操作的解决方案如下:
1、控制面板—文件夹选项—查看 关闭“使用简单文件共享(推荐)”
2、选择存放数据库文件的文件夹,右键选择属性“安全”选项卡,选择最后一个用户,将该用户的权限设为“完全控制”。
经过这两步操作后,数据库附加失败或附加后只读的问题即可解决。
用C#代码的实现,因为当我们为项目打包后,不可能让用户手工来执行这些操作
1、C#关闭简单文件共享的代码实现
注册表文件:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACH
原创力文档

文档评论(0)