zoukankan      html  css  js  c++  java
  • 附加数据库失败,无法升级数据库,因为它是只读的

    我处理的方法是,找到指定目录下的数据库的这2个文件,设置evvryone有全部权利,附加成功后,系统会自动调整权限,改为sql管理员有权限,不用手工再调整回来。

    后面是网上文摘

    去网上搜索了一下答案,最终还是发现是NTFS的权限问题,NTFS格式对权限的设置选项多了很多,但因此也带来了不少问题,IIS,SQL等等的一些莫名其妙的问题可能就源于权限未分配,这次的问题同样出在此处。

    解决方法很简单:把文件所在的文件夹的“完全控制”权限赋予 users或者你所操作数据库的那个用户即可解决问题。如果属性里面没有Users用户,手动添加一个即可。

    附上网上的解决方法:

    经查阅资料,发现并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的SQL Server登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:

    1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;

    2.在登录验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”,即便你的登录帐号是sa;

    3.如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;

    4.将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;

    没办法,只能退一步,修改config中的连接字符串,改为windows身份验证,再用windows身份验证附加数据库了。

    今天在将一个 SQL Server 2000 数据库附加到 SQL Server 2005时出现如下的错误:附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库test,因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
    查看了数据库文件,他们并没有只读属性,在 SQL Server 2000 中附加都是一切正常的啊。
    经查阅资料,发现并不是文件只读的问题,严格说应该是一个“权限”的问题,当前的SQL Server登录帐号没有对要附加文件的可写权限,就会出现上述“只读”的提示,解决办法有以下几种:
    1.将要附加的文件拷贝到 SQL Server 默认的 Data 目录,此时附加就会成功;
    2.在登录验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”,即便你的登录帐号是sa;
    3.如果一定要使用“SQL Server 身份验证”,请更改登录帐号的权限使其对要附加文件有完全操作权限;

    4.将 SQL Server 服务的帐户登录身份由 Network Service 改为 Local Service;

    我遇到了这种情况,使用第二种方法解决了问题。

  • 相关阅读:
    浏览器兼容模式下,上传文件问题
    计算机编程语言也是一种语言,认识的词汇越多越好
    localhost换成127.0.0.1和本机IP打不开本地项目了的问题
    mvc @html.action() 跨area调用controller 中的action
    windows server 2012 FTP连接报530 User 用户名 cannot log in home directory inaccessible的解决方法
    eCharts 数据转换json
    win10家庭版查看已连接wifi密码
    jequery动态创建form
    jsp 获取配置信息
    docker常用命令
  • 原文地址:https://www.cnblogs.com/EasonJim/p/5245248.html
Copyright © 2011-2022 走看看