数据库损坏,修复的书本名称有《SQLServer2012数据库恢复实战》,《MySQL数据库故障排除与恢复》,《Oracle数据库故障排除与恢复》。
1、《SQLServer2012数据库恢复实战》:该书从实践出发,介绍了SQLServer2012数据库损坏的原因、分类、诊断和修复方法,详细讲解了如何使用备份和日志来恢复数据库,以及如何使用工具来修复损坏的数据库。
2、《MySQL数据库故障排除与恢复》:该书详细介绍了MySQL数据库的故障排除和恢复,包括如何诊断和修复各种常见的数据库问题,如数据丢失、损坏和不一致等。
3、《Oracle数据库故障排除与恢复》:该书从Oracle数据库的体系结构出发,介绍了如何诊断和修复各种常见的Oracle数据库问题,包括数据块损坏、表空间故障等。
SQL Server 2000数据库LDF损坏,只有mdf的恢复方法。
SQL Server 2000数据库文件遭到破坏的现象经常出现,数据库出错是否可以修复呢?答案是可以的,本日志以一个sql server 2000数据库,数据库日志文件ldf损坏了,mdf正常,数据库附加失败的修复方法总结一下,数据库数据恢复在很多时候比较复杂,当数据库存在大量错误的时候,使用DBCC修复也是不可以的,需要拆解数据库来抢救重要的数据,下面是较为常见的一种SQL Server 2000数据库修复方式:
1) 先及时把原来的数据库文件(如testmdf)备份到其他地方。
2) 停掉服务器。
3) 删除这个testmdf。
4) 重新建立一个test同名数据库。
5) 删除这个新建立的test数据库的testldf文件,并用开始备份好testmdf文件覆盖这个新建立的testmdf文件。
6) 启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何 *** 作。
设置数据库允许直接 *** 作系统表。此 *** 作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”。
7) 设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表
8) 下面执行真正的恢复 *** 作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_logldf')
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该 *** 作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在 *** 作中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。
正确执行完成的提示应该类似于:
警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。
9) 验证数据库一致性
dbcc checkdb('test')
10设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
11)最后一步,我们要将步骤6中设置的“允许对系统目录直接修改”一项恢复;
选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。
在对象资源管理器窗口中展开服务器,然后选择数据库节点
右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。
执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。
在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。
切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到文件组页,在这里可以添加或删除文件组。
完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。
修复这两种文件的数据库,可以试一下如下方法,我在日常维护工作,经常用以下方法,还真的蛮好用的
1)用语句将要修复的数据库置为单用户语句如下:
sp_dboption '要修复的数据名', 'single user', 'true'
2)修复数据库,运行如下语句:
DBCC CHECKDB('要修复的数据名' , REPAIR_ALLOW_DATA_LOSS )
直至不出错将数据库取消单用户模式,语句如下:
sp_dboption '要修复的数据名', 'single user', 'false'
注意:所有运行的数据库都连接master!
最近在网上看到破解版本的SQL SERVER 的数据库修复软件越来越多,在
闲时,下载了所有的试用版本及已经破解版本,找到以前保留的损坏MDF,进
行一番比较。断断续续经过几天的比较,这些软件的功能与特点基本上了解清楚,
写出来,与大家共享。
RecoveryToolboxForSQLServer(产地:俄国)
特点:数据恢复效果较好,对于库结构恢复较正常。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
SysTools SQL Recovery(产地不详)
特点:显示数据时,对中文不支持,只显示出UniCode,在运行时容易程度中
断直接退出;此软件有些像RecoveryToolboxForSQLServer
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
officerecovery 中的 Recovery for SQL Server(产地:美国)
特点:支持BAK,LOG 文件,但修复后的数据容易丢失,库结构提较取较完整。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
Kernel for SQL Database(产地:印度)
特点:恢复效果好,但日期的显示,它是用国外的方式,库结构提取一般。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
或者保存成SQL 脚本文件。
Stellar Phoenix SQL Recovery (产地:印度)
特点:数据恢复效果较好,程序运行时易不正常退出,库结构提取不出来。
使用:直接选择损坏的MDF 文件,将修复结果直接输出到SQLSERVER 中。
无法保存成SQL 脚本。
上述软件都已经有破解版本或者免费版本,大家在选择时应该有所了解。
说明:库结构提取不完整,修复后的数据虽然可以在SQL SERVER 中附加,查
看,导出,备份,但在应用软件下是无法连接此数据库的,经过对上述软件修复后的数据库文件进行研究,已经找到解决MDF 文件加软件的办法,有此修复需
来快速修复所有的数据库或者特定的数据库;
方法:进入Mysql的Bin目录:C:\Program
Files\MySQL\MySQL Server 41\bin 运行:mysqlcheck -A -o
-r -uroot -p123 注意,将123改成你自己的root用户密码 希望能解决您的问题。
步骤如下:
停止SQL服务管理器,将原数据文件拷贝进行备份,然后将原数据库删除;启动SQLServer服务,创建一个新的数据库,命名为原来数据库的名字;停止SQLServer服务,用备份出来的老数据库的MDF文件替换新数据库相应的MDF文件,并把新数据库相应的LDF文件删除;重新启动SQLServer服务,然后运行命令;停止SQL然后重新启动SQLServer服务,然后运行命令;运行hbfsv8检查数据库的完整性;进行数据库修复;修复成功后,返回多用户模式。
以上就是关于数据库损坏,如何修复的书本名称全部的内容,包括:数据库损坏,如何修复的书本名称、什么方法可以修复SQL server数据库、关于SQL数据库修复的问题总结等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)