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

【错误提示】
无法为此请求检索数据。(Microsoft.SqlServer.SmoEnum)其他信息执行Transact-Sql语句或批处理时发生了异常。(Microsoft.SqlServer.ConnectionInfo)尝试打开或创建物理文件“d:\Data\***.mdf”时,Create file遇到操作系统错误5(拒绝访问。)

【问题背景】
数据库版本:SQL Server 2005企业版
操作系统版本:Windows Server 2003企业版
错误引发描述:数据库分离后,把数据硬盘从一台主机换挂到另一台主机上(两台主机的操作系统和数据库版本都是一样的)。结果附加数据库时,提示上面的错误。

【问题分析】
很明显,是文件操作权限不够引发的问题。

【解决方法】
给数据库文件所在的文件夹属性安全里添加相应的用户并赋予完全操作权限即可解决问题(网上的资料都是这么说的)。给什么用户添加权限呢?比如:Administrators用户组、NETWORK SERVICE、MSSQLUser或Everyone,具体用哪个,看你的SQL服务是哪个帐户启动的,如果不清楚或者懒一点,可以直接添加Everyone用户。本来想上个截图的,不知道为什么,几十Kb的图片,一直上传不成功。

【意外情况】
可能你通过上面的解决方法,给数据文件所在的文件夹添加了相应的用户和操作权限,但问题依旧(这也正是我纠结痛苦的地方,网上都是那么说的,咋就不行哩~~??!)。最后我的解决方法是:给每个数据库文件(包括mdf、ldf、ndf)分别设置用户和操作权限(操作方法和给文件夹加操作权限一样,都是在右键属性里的安全选项)。问题终于彻底得到解决。原因应该是文件夹的权限没有自动继承到里面的文件上。

(0)

相关推荐

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

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

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

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

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

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

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

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

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

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

  • 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附加数据库出错,错误代码5123

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

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

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

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

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

  • MySQL数据库 1067错误号的解决方法

    在Windows Professional 7 64-bit系统下安装了MySQL 5.6,但是某一天发生了错误,错误号:1067:怎么解决这个问题呢? 以下为解决步骤: 1.以系统管理员登陆: 2.停止MySQL服务: 3.进入CMD命令行模式,然后进入MySQL的安装目录,假设是D:/MySQL/MySQL Server 5.6/: 4.跳过权限检查启动MySQL,使用命令 D:/MySQL/MySQL Server 5.6/bin/mysqld-nt –-skip-grant-tables

  • Eclipse 项目出现错误(红色叹号)解决方法

    Eclipse 项目出现错误(红色叹号)解决方法 情况:就是项目出现红色感叹号  解决方法: 对准项目右键选择Build Path → configure build path 点击eclipse项目的configure build path后,在弹出来的窗口中,找到Libraries页签,可以看到一些jar包是红色叉号的,这种jar包就是找不到对应文件的jar包,引起这种eclipse项目前面出现红色叹号.eclipse项目前面出现红色感叹号.eclipse项目前面出现红色惊叹号.eclips

  • MSSQL  附加数据库提示“错误 823”数据恢复实操

    故障: 数据库报错:“MSSQL Server 2000 附加数据库错误823”,附加数据库失败. 故障分析: 数据库出现“823”报错信息通常有以下三种原因: 1.数据库的物理页面出现了损坏. 2.校验值损坏导致数据库页面无法被识别. 3.异常断电导致的文件系统损坏,数据库页面丢失. 数据库出现“823”报错信息这种情况下如果有备份,只需还原备份.但是如果没有备份,或者备份间隔时间太久,或者备份数据不可用,那么就需要进行数据恢复. 数据库数据恢复过程: 1.北亚数据恢复工程师尝试附加数据库,修

  • NodeJS连接MongoDB数据库时报错的快速解决方法

    今天第一次尝试连接MongoDB数据库,具体步骤也很简单. 首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句 npm install mongodb安装成功后,通过如下语句测试与数据库建立连接几关闭数据库 var mongo = require('mongodb'); var host = "localhost"; var port = mongo.Connection.DEFAULT_PORT; //创建MongoDB数据库所在服务器的Server对象

  • System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法

    异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误 这个错误是access数据库特有的错误,当access频繁读取或操作过多的时候就会发生这个错误,微软官方已找不到具体的解决方法,网上搜索了很多,可以使用下面几种方法解决一下. 可能解决方法1: 重启服务器IIS,释放access连接,这种方法一般最有效,当然前提是自己有服务器控制权限,如果用虚拟主机的话主机商不太可能为一个网站重启iis,最好的方法就是转换为sql数据库. 可能解决方法2: 修改wi

  • ThinkPHP表单令牌错误的相关解决方法分析

    本文分析了ThinkPHP表单令牌错误的相关解决方法.分享给大家供大家参考,具体如下: 今天在用ThinkPHP做程序的时候,以前用create创建数据的时候,出现了错误提示"表单令牌错误",然后各种百度各种谷歌,得到的网上解答给出了以下的建议 1.清缓存: 用了,我把所有的Cache下的文件都删掉了,并将~app.php和~runtime.php两个文件同时都删掉了,但是没有效果. 2.将TOKEN_ON参数设置为FALSE: 试过了,但是也不行,虽然不提示表单令牌错误了,但是添加到

  • PHP实现截取中文字符串不出现?号的解决方法

    本文实例讲述了PHP实现截取中文字符串不出现?号的解决方法.分享给大家供大家参考,具体如下: 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 <?php $text = "1欢迎访问sina新浪播客"; $value = substr($text, 0, 18); echo $value."<BR>"; ?> 输出为结果为: 1欢迎访问新浪?BR> 于是写了以下这段代码,判断如果中英文混合字符串中

  • 微信支付--签名错误问题的解决方法

    最近在做微信支付,调用微信的统一下单支付接口http://mch.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1时,老是返回"签名错误",偶尔可以成功,不知道是怎么回事.我在日志中打印出生成的字符串和签名,然后用相同的数据在微信支付提供的在线支付调试工具生成签名,发现生成的签名结果一样!生成的最终xml也一样,但接口就是返回 <xml><return_code><![CDATA[FAIL]]><

随机推荐