sql2008 附加数据库时出现错误5123提示的解决方法

错误载图

解决方法:

1.直接把己有数据库复制到sql安装目录下C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA

这样就可以附加,不知道是不是在装数据库时漏选了什么操作,以前没遇到过。

2.在己有数据库mdf和ldf文件上,

右键---->属性---->添加---->高级---->立即查找---->Authenticated Users---->确定

------>完全控制勾上---->确定

以上两种方法都可以,可能还有其它方法,各位同学自己再找找吧。。。。

前天重做了系统,重装了SQLServer2012Express,今天附加一个原来的数据库时就报错了,提示信息为:无法为此请求检索数据……执行Transact-SQL语句或批处理时发生异常……尝试打开或创建物理文件'd:\data\ejiaOA.mdf'时,createfile遇到系统错误 5(拒绝访问)。(Microsoft SQL Server,错误:5123)

看到这个破提示,第一感觉就是文件夹的权限看来是没有给到位(我的系统是64全Win7),用古老的办法:“ 文件—>属性—>安全—>添加—>高级—>立即查找—>EveryOne—>确定—>确定—>完全控制—>应用”就是给这个文件夹加了权限,再一操作,还是不行!!顿时郁闷了,我了个去啊,什么情况?百度了半天,找了一些解决办法,都是这种更改权限的不好用的办法,其中有一位网友说了:Win7是个很神奇的东东,有时间文件夹的操作权限不会被里面的文件所继承,所以需要检查文件本身的权限是不是也符合操作的要求。我按这哥们说的做了,发现我的WIN7显然没有这个特征,文件的权限和它老爸文件夹的权限是一致的。

问题的原因始终找不到,着实让我头疼了半天,不过对于咱这种有着坚韧的性格的人来讲,咱一点儿也没有被吓到,继续百度百度百度……最后,我快要绝望的时候,找到一篇文章,截图如下:

这个文件给描述的问题和我的是一模一样,不过提出的解决办法也是和我的操作办法一致,后面有评论,咱也截图了

看来,倒霉的不是我一个啊,不过我还是发现一个问题,那就是使用了Windows身份验证,如果不使用Windows身份验证会是怎么样一个情况呢?退出SQL2012管理器,用SA重新登陆了一下,然后再执行这个附加操作,居然一下就成功了!

问题终于解决了,但是我也纳闷了,这是为什么呢?经检查,我的数据库文件原来的权限是这样的:

我有理由相信,这个是一个数据库文件的正常权限,加了everyone的所有权限控制那才不正常呢。同时MSSQL$SQLEXPRESS是留给SA登陆的SQLServer管理使用的权限,我是用超管的帐户登陆的系统,显然是属于超管用户组的,但是为什么附加数据库会出错呢?有知道的朋友麻烦告诉我一下吧,不胜感激!!!

百度上有网友这样解释:这是因为SQL Server的启动帐户(一般是system或某个操作系统管理员),对E(我的是D盘)盘根目录没有创建文件的权限。右击E盘,在属性里查看“安全”选项卡里查看用户的权限。查看启动帐户是谁,运行services.msc,在服务管理器里找到SQL Server服务,然后看“登录”选项卡,选中本地用户并重启服务。

(0)

相关推荐

  • Sqlserver 2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法

    最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用Sql Server2005附加数据库文件时弹出错误信息: 看到网友回复说:只需给Authenticated Users赋所有权限就行了. 本人也遇到类似的问题,但是解决方法很简单,只需要使用管理员的身份打开SQL Server Management Studio,即可附加数据库了 如下图:  ,一时无解,遂求助于百度谷歌,经过各种试验,特将解决办法整理于此,希望能帮到大家,同时如果有好的意见大家多多交流啊! 方案一:切换登

  • mssql server .ldf和.mdf的文件附加数据库的sql语句

    附加数据库就可以完成. 附加数据库: 企业管理器      --右键"数据库"      --所有任务      --附加数据库      --选择你的.mdf文件名      --确定      --如果提示没有.ldf文件,是否创建,选择"是" 查询分析器中的方法:      --有数据文件及日志文件的情况      sp_attach_db   '数据库名'      ,'数据文件名(*.mdf注意要带目录)'   --后面可以是用,分隔的该数据库的多个数据文

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

    解决此问题的几个关键点如下: 1.该现象只会出现在NTFS文件系统中. 2.由NTFS文件系统的访问权限导致. 一般手工操作的解决方案如下: 1.控制面板->文件夹选项->查看 关闭"使用简单文件共享(推荐)" 2.选择存放数据库文件的文件夹,右键选择属性,这时会多出一个"安全"选项卡,选择最后一个用户,将该用户的权限设为"完全控制". 经过这两步操作后,数据库附加失败或附加后只读的问题即可解决. 下面重点讲这两步,用C#代码的实现,

  • sql2005 附加数据库出错(错误号:5123)解决方法

    [错误提示]无法为此请求检索数据.(Microsoft.SqlServer.SmoEnum)其他信息执行Transact-Sql语句或批处理时发生了异常.(Microsoft.SqlServer.ConnectionInfo)尝试打开或创建物理文件"d:\Data\***.mdf"时,Create file遇到操作系统错误5(拒绝访问.) [问题背景]数据库版本:SQL Server 2005企业版操作系统版本:Windows Server 2003企业版错误引发描述:数据库分离后,把

  • sql server2012附加数据库问题解决方法

    SQLServer错误5120:先用widows用户登录附加再分离重新用sa附加就行了 不行的话,绝招: 你先用SQLServer创建一个新的数据库,然后用你要附加的文件去覆盖掉创建的文件!覆盖之前,记得计算机-管理-服务-把SQL服务关掉

  • SQL Server附加数据库出错,错误代码5123

    今天在附件一个以前的数据库(没有在SqlServer初始安装的目录下)的时候,老是附加不上,总是出现5123的错误代码,如图: 一开始以为是SqlServer2008不兼容原来的数据库所致,因为这个数据库是不知道当时是那个版本创建的,在官方看了一下,解释说权限不对,应该把这个数据库放到SqlServer安装的目录下,也就是X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA,果然解决问题:不过总不能每次都把数据库

  • SQL Server 2005附加数据库时Read-Only错误的解决方案

    SQL Server 2005附加数据库文件时出现了Read-Only错误,附加的时候,系统提示mdf文件为只读,可是打开文件属性,这个属性不为只读.该怎么解决呢?本文我们就介绍了这一解决方案,接下来就让我们来一起了解一下吧. 两种解决方法如下: 1.重新打开数据库软件,在登录认证框那里选择:Windows authentication进行登录.然后再附加数据库,这时附加的就没有Read-Only了. 2.在*.mdf文件的属性里,找到"安全"页,然后把里面所有的"组或用户名

  • MSSQL2005在networkservice权限运行附加数据库报(Microsoft SQL Server,错误: 5120)

    附加数据库出错: 无法打开物理文件 "XXXXXXXXXXXXX".操作系统错误 5:"5(拒绝访问.)". (Microsoft SQL Server,错误: 5120) 解决方法:目录(即文件夹)权限不够,将SQLServer2005MSSQLUser$计算机名$MSSQLSERVER用户组加入,改为完全控制,注意一定要是完全控制才可以.

  • SQL SERVER 2008 无法附加数据库的解决方法

    复制代码 代码如下: 标题: Microsoft SQL Server Management Studio ------------------------------ 无法为该请求检索数据. (Microsoft.SqlServer.Management.Sdk.Sfc) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 --------------------------

  • sql2008 附加数据库时出现错误5123提示的解决方法

    错误载图 解决方法: 1.直接把己有数据库复制到sql安装目录下C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA 这样就可以附加,不知道是不是在装数据库时漏选了什么操作,以前没遇到过. 2.在己有数据库mdf和ldf文件上, 右键---->属性---->添加---->高级---->立即查找---->Authenticated Users---->确定 ------>完全控制勾上

  • SQL Server附加数据库时出现错误的处理方法

    目录 前言 一.如何附加数据库? 二.无法升级数据库,出现(539类似版本号不匹配)错误解决办法 1.常见的无法附加数据库时,出现的错误 2.无法升级数据库的解决办法 总结 前言 SQL Server 是数据库软件中比较常见且实用的软件,它的集成度很高,且功能非常强大.很多类型的网站系统后台数据库都依赖于SQL Server.但是,对于初学者而言,在操作过程中总是会出现各种各样的错误.现在,我对“无法升级数据库”这种报错信息,做详细处理流程的讲解. 一.如何附加数据库? 1.选择要添加的数据库文

  • mysql下普通用户备份数据库时无lock tables权限的解决方法

    [root@jb51.net]# mysqldump -u dbuser -ppass db > db.sql mysqldump: Got error: 1044: Access denied for user 'dbuser'@'localhost' to database 'db' when using LOCK TABLES 解决一: 加上-skip-lock-tables选项即可.即: [root@jb51.net]# mysqldump -u dbuser -ppass db --s

  • SQL2008 附加数据库提示5120错误解决方法

    前几天在附加数据库时,出现了这个错误 在win7 x64系统上使用sql2008进行附加数据库(包括在x86系统正在使用的数据库文件,直接拷贝附加在X64系统中)时,提示无法打开文件,5120错误. 这个错误是因为没有操作权限,所以附加的时候出错,只要设置这个文件或文件夹安全属性即可.解决办法:    1.打开该数据库文件存放的目录或数据库文件的属性窗口,选择"属性"菜单->选择"安全"标签->选择"编辑"按钮.    2.在选择组或

  • 连接ACCESS数据库时发生错误提示:找不到可安装的 ISAM

    连接ACCESS数据库时发生错误提示:找不到可安装的 ISAM 检查后发现原来是把Data Source写成 DataSource了 错误:<add key="OleConnection" value="Provider=Microsoft.Jet.OleDb.4.0;DataSource=Demo.mdb;" /> 正确:<add key="OleConnection" value="Provider=Microso

  • ThinkPHP调用common/common.php函数提示错误function undefined的解决方法

    本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

  • Kendo Grid editing 自定义验证报错提示的解决方法

    Kendo UI是一个强大的框架用于快速HTML5 UI开发.基于最新的HTML5.CSS3和JavaScript标准. Kendo UI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件. 今天开始就对项目里使用的kendo控件技巧做记录,有个别错误希望大家不吝指出,谢谢. 首先就是Grid控件编辑是,验证错误时弹出的提示居然是中文加字段名字,如下图.抓狂啊!!请问这样的低级的提示能拿得出手吗? 这样的提示

  • Yum安装中出现错误mirrorlist.txt的解决方法

    发现问题 今天在使用Yum install命令安装软件的时候一直提示一个错误,错误提示如下面: # yum install mysql Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. </HTML>/ removing mirrorlist with no

随机推荐