我们今天主要向大家讲述的是SQL Server数据库附加后只读或是失败解决 *** 及代码实现,相信用过SQL Server数据库的朋友一般都会有这样的经历,当我们在附加SQL Server数据库的时候,会出现附加失败,或附加成功后数据库是只读的。
受此影响,也会导致在安装和部署项目中的自动附加数据库操作失败。
记得自己曾很长一段时间被这个问题困扰,网上也没有相关完整详细的解决说明,为此特将自己的经验与大家分享。
解决此问题的几个关键点如下:
1、该现象只会出现在NTFS文件系统中。
2、由NTFS文件系统的访问权限导致。
一般手工操作的解决方案如下:
1、控制面板—>文件夹选项—>查看 关闭“使用简单文件共享(推荐)”
2、选择存放SQL Server数据库文件的文件夹,右键选择属性,这时会多出一个“安全”选项卡,选择最后一个用户,将该用户的权限设为“完全控制”。
经过这两步操作后,数据库附加失败或附加后只读的问题即可解决。
下面重点讲这两步,用C#代码的实现,因为当我们为项目打包后,不可能让用户手工来执行这些操作
1、C#关闭简单文件共享的代码实现
在百度、google搜索此问题解决 *** 时,很多的操作 *** 并不正确,经过自己实际操作测试,正确 *** 如下:
注册表文件:
windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa] "forceguest"=dword:00000000
批处理:
reg add HKLMSYSTEMCurrentControlSetControlLsa /v forceguest /t REG_WORD /d 0x00000000 /f
假如选中此项,则将上述 0x00000000 改为 0x00000001。
通过修改注册表的方式实现代码如下:
microsoft.win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine; Microsoft.Win32.RegistryKey software = key.OpenSubKey(@"SYSTEMCurrentControlSetControlLsa", true); software.SetValue("forceguest", 0);
2、C#修改指定文件夹的用户访问权限代码实现如下:(将该用户的权限设置为可写)
string path = this.Context.Parameters["targetdir"];
得到文件夹路径
DirectoryInfo dInfo = new DirectoryInfo(path); DirectorySecurity dSecurity = dInfo.GetaccessControl(); dSecurity.AddAccessRule(new FileSystemAccessRule(Environment.UserName, FileSystemRights.CreateFiles, AccessControlType.Allow)); dInfo.SetAccessControl(dSecurity);
以上的相关内容就是对SQL Server数据库附加后只读或是失败解决 *** 及代码实现的介绍,望你能有所收获。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...
假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...
最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...
最近小编在使用Windows 7的时侯遇到一个问题,就是应用程序和快捷方式不能锁定到任务栏,我当时不知道怎么回事,但是很多现有的方法都不能解决这个问题。现在我把我的解决的方法分享给大家以作参考。 问题分析 经过思考,初步判断出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。...
工作中经常要处理办公文档,复制粘贴要算是使用频率最多的。但是这个“粘贴选项按钮”有时逗留的太久,有时候经常会妨碍到下一步的操作。如下图所示,单元格B3完全被覆盖了,过犹不及啊... 那么,假如不需要要进行高级粘贴操作时,有没有办法把这个“粘贴选项按钮”隐藏呢 很简单: 以 Offic...