分离附加数据库失败解决办法

合集下载

SQLServer2014对数据库进行分离(detach)和附加(attach)操作

SQLServer2014对数据库进行分离(detach)和附加(attach)操作

SQLServer2014对数据库进⾏分离(detach)和附加(attach)操作⼀、概述SQL Server提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复⽅法。

这⾥介绍⼀种学习中常⽤的“分离/附加”⽅法,类似于⼤家熟悉的“⽂件拷贝”⽅法,即把数据库⽂件(.MDF)和对应的⽇志⽂件(.LDF)拷贝到其它磁盘上作备份,然后把这两个⽂件再拷贝到任何需要这个数据库的系统之中。

⽐如,在实验教学过程中,同学们常常想把⾃⼰在学校实验室计算机中创建的数据库搬迁到⾃⼰的计算机中⽽不想重新创建该数据库,就可以使⽤这种简单的⽅法。

但由于数据库管理系统的特殊性,需要利⽤SQL Server提供的⼯具才能完成以上⼯作,⽽直接的⽂件拷贝是⾏不通的。

这个⽅法涉及到SQL Server分离数据库和附加数据库这两个互逆操作⼯具。

1、分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使⽤,但该数据库的⽂件(.MDF)和对应的⽇志⽂件(.LDF)完好⽆损。

分离成功后,我们就可以把该数据库⽂件(.MDF)和对应的⽇志⽂件(.LDF)拷贝到其它磁盘中作为备份保存。

2、附加数据库就是将⼀个备份磁盘中的数据库⽂件(.MDF)和对应的⽇志⽂件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使⽤这个数据库。

⼆、分离数据库1. 在启动SSMS并连接到数据库服务器后,在对象资源管理器中展开服务器节点。

在数据库对象下找到需要分离的数据库名称,这⾥以student_Mis数据库为例。

右键单击student_Mis 数据库,在弹出的快捷菜单中选择属性。

2. 在“数据库属性”窗⼝左边“选择页”下⾯区域中选定“选项”对象,然后右边区域的“其它选项”列表中找到“状态”项,单击“限制访问”⽂本框,在其下拉列表中选择“SINGLE_USER”。

数据库置疑,分离后无法再附加上去处理办法

数据库置疑,分离后无法再附加上去处理办法

修复置凝的数据库方法--世纪商通技术部修复受损的mdf文件(无ldf文件):-------------------------------------------------------------------------分离置凝的数据库,备份数据库文件(把原数据库文件移到其他文件夹),然后按下面的步骤处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名' Gosp_dboption '置疑的数据库名', 'single user', 'true'GoDBCC CHECKDB('置疑的数据库名')Goupdate sysdatabases set status =28 where name='置疑的数据库名'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption '置疑的数据库名', 'single user', 'false'如果是日志文件有问题,你可以重建日志事试试,有可能是日志文件有问题。

分离和附加数据库方法

分离和附加数据库方法

分离:
鼠标右键单击所要分离的数据库名,选择“任务”中的“分离”
弹出如下对话框,点“删除连接”,使之打钩,单击“确定”按钮,完成数据库分离。

复制数据库文件
按以下路径,打开文件夹(此为教师机中的路径,学生机可能也是这个路径)
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
可以看到两个数据库文件:liumei.mdf 和liumei.ldf
复制这两个文件到你的U盘中
附加:
打开SQL Server 2005,连接后,开始数据库附加工作。

单击数据库对象,选择“附加”,如图所示。

弹出对话框,单击“添加”,通过文件浏览方式,选择你U盘中的数据库文件(liumei.mdf)建议:先将U盘中文件拷贝到硬盘中,这样操作速度会快一些,只是记住上机结束时将数
据库重新分离,再将新的数据库文件拷贝到U盘即可
“确定”后,上次分离的数据库就附加到SQL Server 中了。

SQl server 2008 附加数据库失败如何解决

SQl server 2008 附加数据库失败如何解决

SQl server 2008 附加数据库失败如何解决
通过附加功能添加现成的数据库是非常方便的,然而有时会出现附加数据库失败。

那么,我们该如何解决此问题?
方法一、
1.
找到要添加数据库的.mdf文件,点击右键,选择属性。

2.
在属性页面点击安全,选择Authenticated Users,单击编辑
3. 3
Authenticated Users权限中选择完全控制,点击确定,点击属性界面的确定。

4.
同理,右键点击数据库的.ldf文件,打开属性。

按以上步骤再次设置即可。

5.
完成以上步骤,再进行附加数据库,这时就可以。

END
方法二、
1.打开数据库实例的安装目录,打开DATA文件夹。

(如我的实例目录地
址为:D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 也可能当时安装时装在C盘了)
2.将要附加的数据库.mdf文件和.ldf文件,剪切或复制到DATA
文件夹里。

3.完成以上步骤,再次附加数据库。

这时就可以了。

SQLServer附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

SQLServer附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

SQLServer附加数据库报错⽆法打开物理⽂件,操作系统错
误5的图⽂解决教程
问题描述:
附加数据时,提⽰⽆法打开物理⽂件,操作系统错误5。

如下图:
问题原因:可能是⽂件访问权限⽅⾯的问题。

解决⽅案:找到数据库的mdf和ldf⽂件,赋予权限即可。

如下图:
找到mdf和ldf⽂件,本演⽰以ldf为例。

1.点击⽂件右键属性-->安全-->编辑
2.编辑-->添加
3.添加-->⾼级
4.⾼级-->⽴即查找-->搜索结果中找到-->Everyone-->确定-->确定
5.确定-->默认选中的Everyone⽤户-->Everyone的权限-->勾选"完全控制"即会把下⾯所有未勾选的都默认勾选上。

-->确定-->确定。

即Everyone的权限完成。

以上所述是⼩编给⼤家介绍的SQL Server附加数据库报错⽆法打开物理⽂件,操作系统错误5的图⽂解决教程,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

在此也⾮常感谢⼤家对⽹站的⽀持!。

SQL数据库的备份与还原、分离与附加

SQL数据库的备份与还原、分离与附加

SQL数据库的备份与还原一、SQL数据库的备份:1、依次打开开始菜单→程序→Microsoft SQL Server 2008 →SQL Server Management Studio →数据库:以Dsideal_school_db为例图(1)2、选择要备份的数据库“Dsideal_school_db”,点击鼠标右键→任务→备份,如图(2):图(2)3、在打开的“备份数据库—Dsideal_school_db”对话框中,先点击删除,然后点击“添加”,如图(3):首先点击“删除”然后点击“添加”图(3)4、在弹出的“选择备份目标”对话框中,点击“”,如图(4)图(4)5、选择好备份的路径(如D盘的江西-学籍-数据库备份文件夹中),文件类型选择“所有文件”,“文件名”那个位置填写上您要备份的数据库的名字(最好在您备份的数据库的名字后面加上日期,以方便以后查找),之后连续点击“确定”按钮即可完成数据库的备份操作,如图(5):图(5二、SQL数据库的还原:1、选择您要还原的数据库“Dsideal_school_db”,点击鼠标右键→任务→还原→数据库,如图(6):图(6)2、在出现的“还原数据库— school_web_db”对话框中选择“源设备”,然后点击后面的“”按钮,如图(7):3、在出现的“指定备份”对话框中,点击“添加”按钮,如图(8):图(8)4、找到数据库备份的路径,选择您所要还原的数据库“Dsideal_school_db”(注意:文件类型选择所有文件),然后连续“两次”点击“确定”按钮,如图(9):图(9)5、在出现的“还原数据库— Dsideal_school_db”对话框中,勾选上“选择用户还原的备份集”下的数据库前的复选框,如图(10)6、然后选择“选项”,勾选上“覆盖现有数据库”,如图(11):图(11)三、还原数据库问题解决方案在还原数据库“Dsideal_school_db”时,有时会遇见上图中的问题“因为数据库正在使用,所以无法获得对数据库的独占访问权”,此时我们可以按照以下步骤解决此问题1、右键数据库“Dsideal_school_db”,然后选择“属性”,如下图2、在出现的“数据库属性— Dsideal_school_db”对话框中,选择“选项”,在“其他选项”下的“状态”中找到“限制访问”。

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

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

解决此问题的几个关键点如下:1、该现象只会出现在NTFS文件系统中。

2、由NTFS文件系统的访问权限导致。

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

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

下面重点讲这两步,用C#代码的实现,因为当我们为项目打包后,不可能让用户手工来执行这些操作1、C#关闭简单文件共享的代码实现在百度、Google搜索此问题解决方法时,很多的操作方法并不正确,经过自己实际操作测试,正确方法如下:注册表文件:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "forceguest"=dword:00000000批处理:reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v forceguest /t REG_WORD /d 0x00000000 /f如果选中此项,则将上述 0x00000000 改为 0x00000001。

通过修改注册表的方式实现代码如下:Microsoft.Win32.RegistryKey key =Microsoft.Win32.Registry.LocalMachine;Microsoft.Win32.RegistryKey software =key.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Lsa", 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(erName, FileSystemRights.CreateFiles, AccessControlType.Allow));dInfo.SetAccessControl(dSecurity);。

SQL数据库分离与附加

SQL数据库分离与附加

2012-3-27
龍光輝 Bright Long
返回主目录
6
分离数据库
五、2、在没有分离数据之前,复制MDF与LDF两个文件,在粘贴的时候出错,提示文件 在没有分离数据之前,复制MDF与LDF两个文件,在粘贴的时候出错, MDF 两个文件 已在另一个程序中打开,这也是SQL对于文件的保护措施, SQL对于文件的保护措施 已在另一个程序中打开,这也是SQL对于文件的保护措施,所以我们必须先分离数据库然 后再复制保存
龍光輝 Bright Long
返回主目录
5
分离数据库
五、1、在没有分离数据之前,复制MDF与LDF两个文件,在粘贴的时候会出错,提示程 在没有分离数据之前,复制MDF与LDF两个文件,在粘贴的时候会出错, MDF 两个文件 序已在另一个程序打开,这也是SQL对于文件的保护措施,下面就先复制一下 SQL对于文件的保护措施 复制一下, 序已在另一个程序打开,这也是SQL对于文件的保护措施,下面就先复制一下,在其它地 方粘贴看看
2012-3-27
龍光輝 Bright Long
返回主目录
12
附加数据库
二、分离了数据库之后,一定要把它附加回来才可以用,它的方法和新建一个附加数据库 分离了数据库之后,一定要把它附加回来才可以用, 的方法一样,下面就开始介绍: 的方法一样,下面就开始介绍: 选择要附加的数据库文件MDF,然后单击确定按钮继续, 数据库文件MDF 确定按钮继续 2、选择要附加的数据库文件MDF,然后单击确定按钮继续,
2012-3-27
龍光輝 Bright Long
返回主目录
4
ቤተ መጻሕፍቲ ባይዱ
分离数据库
四、在事务日志文件选项卡,可以看到Log文件存放的位置及分配的空间,Log文件空间一 在事务日志文件选项卡,可以看到Log文件存放的位置及分配的空间,Log文件空间一 看到Log文件存放的位置 ,Log 般比数据库文件要大
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

当事务日志太大时我们有时会通过分离附加的方式清除LOG文件,正常情况下,清除LOG后,附加都会成功,但是有些时候可能数据文件破坏或者分离异常等诸多原因导致无法正常附加,附加时报错:设备激活错误。

物理文件名'C:\Program Files\Microsoft SQL Server\MSSQL\data\DSCSYS_Log.LDF '可能有误。

解决方法(以数据库DSCSYS为例):
1.将原先的数据文件DSCSYS_data.mdf备份到其他路径下或者重命名,建立新的数据库
DSCSYS,这样就会在相同路径下新生成DSCSYS_data.mdf和DSCSYS_Log.LDF
2.停止服务管理器,删除新生成的DSCSYS_Log.LDF,并将原先的数据文件
DSCSYS_data.mdf恢复覆盖新生成的DSCSYS_data.mdf
切记:此处不可通过分离的方式执行删除和覆盖动作,否则后续无法成功附加
3.启动服务管理器,打开企业管理器,我们会看到数据库DSCSYS处于“置疑”状态,这
时候不能对数据库做任何的操作
4.设置数据库允许之行操作系统表,进入企业管理器,打开SQL Server属性,选择服务器
设置,勾选“允许对系统目录直接进行修改”,也可以通过如下语句实现,
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1
GO
RECONFIGURE WITH OVERRIDE
执行该语句时,有时可能因为SQL Server本身的原因,会报错配置选项'ALLOW UPDATES' 不存在,也可能是高级选项。

此时还是建议采用进入企业管理器勾选“允许对系统目录直接进行修改”
5.设置DSCSYS为紧急修复模式
UPDATE SYSDA TABASES SET STATUS =32768 WHERE NAME='DSCSYS' 执行该语句后我们看到执行结果为:
影响1行
6.重建数据库日志文件
dbcc
rebuild_log('DSCSYS','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\data\DSCSYS_Log.LDF ') 执行该语句后我们看到执行结果为:
数据库'DSCSYS ' 的日志已重建。

已失去事务的一致性。

应运行DBCC CHECKDB以验证物理一致性。

将必须重置数据库选项,并且可能需要删除多余的日志文件。

DBCC 执行完毕。

如果DBCC输出了错误信息,请与系统管理员联系。

7.验证数据库一致性(可省略)
dbcc checkdb( 'test ')
执行该语句后我们看到执行结果为:
CHECKDB 发现了0 个分配错误和0 个一致性错误(在数据库'DSCSYS' 中)。

DBCC 执行完毕。

如果DBCC 输出了错误信息,请与系统管理员联系。

8.设置数据为正常状态。

进入企业管理器我们发现数据库DSCSYS(只供DBO使用),若要取消该限制,则打开DSCSYS属性,“选项”页签,去掉“限制访问”,故障还原模型选择“简单”,确定即可。

9.最后一步,我们要将步骤4中的设置恢复,当然我们可以通过进入企业管理器去掉“允
许对系统目录直接进行修改”的勾,也可以通过如下语句完成
SP_CONFIGURE 'ALLOW UPDATES',0
GO
RECONFIGURE WITH OVERRIDE
切记:因直接操作系统目录是一件比较危险的动作,故此项务必记得恢复设置
10.至此,数据库已成功附加
PS:执行语句时,有时候因为数据库有设置区分大小写,所以执行时务必保证大小写字母的正确性,若没有设置区分大小写,则无关紧要。

同理,若有时候客户传数据库到本地不是BAK,而是MDF文件的话,其操作方法同上10个步骤即可成功在本地恢复数据库。

切记:若客户不能正常附加,出现上述错误,我们不可以将MDF文件传到本地附加成功后,将LDF发给客户,此操作必须在客户的数据库上才能操作成功。

一、是否修改了操作系统密码?
--修改操作系统密码,导致SQL不能启动的解决办法:
1.
我的电脑--控制面板--管理工具--服务--右键MSSQLSERVER--属性--登陆--登陆身份--选择"
本地系统帐户"
或:
2.
我的电脑--控制面板--管理工具--服务--右键MSSQLSERVER--属性--登陆--登陆身份--选择"此帐户"--密码和确认密码中输入你修改后的administrator密码.
两者的区别:
选择第一种方式,以后修改了administrator密码,不用再调整(但要求登陆操作系统的是系统管理员)
选择第二种方式,以后修改了administrator密码,还要再重复做上面的操作.
二、是否修改了计算机名?
如果是修改了计算机名,则放入SQL安装光盘,执行安装程序进行修复(修复过程自动进行,照提示操作就行了,不会破坏数据,也很快)
三、检查一下你安装的是否评估版? 如果是的话,可能已经过期,安装一个正式版吧.
检查方法是安装sql sp3,如果是评估版,会有错误提示,不能安装。

相关文档
最新文档