当前位置:  数据库>sqlserver

sql server附加数据库后出现只读或失败的解决方法

    来源: 互联网  发布时间:2014-08-29

    本文导语:  附加SQL数据库后出现只读或失败的情况,那么您可以参照如下的文章,希望可以帮您解决问题。 关键点: 1、该现象只会出现在NTFS文件系统中。 2、由NTFS文件系统的访问权限导致。 手工操作的解决方法: 1、控制面板—>文件...

附加SQL数据库后出现只读或失败的情况,那么您可以参照如下的文章,希望可以帮您解决问题。

关键点:
1、该现象只会出现在NTFS文件系统中。
2、由NTFS文件系统的访问权限导致。

手工操作的解决方法:
1、控制面板—>文件夹选项—>查看 关闭“使用简单文件共享(推荐)”
2、选择存放数据库文件的文件夹,右键选择属性,这时会多出一个“安全”选项卡,选择最后一个用户,将该用户的权限设为“完全控制”。

经过这两步操作后,数据库附加失败或附加后只读的问题即可解决。

以下是用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 2008如何进行数据库分离和附加详细介绍
  • sql server2012附加数据库问题解决方法
  • SQL Server 2008无日志文件如何使用MDF文件附加数据库
  • sql server 2008 无法附加数据库的解决方法
  • mssql server .ldf和.mdf的文件附加数据库的sql语句
  • sql server 2005 附加数据库出错(错误号:5123)的解决方法
  • 用sql语句实现分离和附加数据库的方法
  • sql server 2005数据附加失败报错3456的解决办法
  • 使用sql语句分离和附加数据库的方法
  • sql server 2008分离与附加数据库的例子
  • SQL Server 数据库分离与附加(图文教程)
  • 附加到SQL2012的数据库就不能再附加到低于SQL2012的数据库版本的解决方法
  • SQL2000个人版 应用程序正常初始化失败0乘以C0000135失败
  • IP连接SQL SERVER失败(配置为字符串失败)图文解决方法
  • 录入的字符串包含'这样的字符,拼装的sql也用到',提交失败。
  • SQL Server连接失败错误及解决第1/5页
  • sql server维护计划自动备份数据库作业执行失败会自动生成abc82作业的解决办法
  • 也是jdbc连接SQL Server2000问题.别人都是这样连阿,为什么我的却失败。help!
  • sql server 2000管理单元初始化失败的解决方法
  • SQL Server 服务由于登录失败而无法启动
  • sql自增长标识导致导入数据失败的处理方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 解析MYSQL 数据库导入SQL 文件出现乱码的问题
  • 在使用中,经常出现提示为:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt,是什么意思,怎样解
  • jdbc连接sql server 2000 出现
  • 怎样解决出现java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][erver]String or binary data would be truncated.问题?
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • 初装SQL就出现这种问题!请问如何解决!
  • 在jsp中做页面登录,出现错误信息“数据库执行错误:No suitable driver”,我怀疑是不是我不能用sql 7.0
  • sql server在text类型字段中查找字符串出现次数
  • sql server查找text类型字段中字符串出现的次数
  • SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)
  • sql实现查询只出现一次的数据的方法
  • 高分求助,出现SQL的错误,是怎么回事?
  • 格式导致的Excel导入sql出现异常的解决方法
  • 清除SQL SERVER错误日志出现操作系统错误的解决方法
  • sql 去零函数 datagridview中数字类型常出现后面的零不能去掉
  • tomcat4.1下用jndi连接sql server2000出现问题!!!在线等待
  • 解决MYSQL出现Can't create/write to file '#sql_5c0_0.MYD'的问题
  • 急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常
  • Excel导入Sql Server出现Null的解决方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3