SQL2000数据库MDF损坏修复

SQL2000数据库MDF损坏修复

ID:47547323

大小:81.50 KB

页数:13页

时间:2020-01-14

SQL2000数据库MDF损坏修复_第1页
SQL2000数据库MDF损坏修复_第2页
SQL2000数据库MDF损坏修复_第3页
SQL2000数据库MDF损坏修复_第4页
SQL2000数据库MDF损坏修复_第5页
资源描述:

《SQL2000数据库MDF损坏修复》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、sqlserver2000文件中,ldf损坏了,但mdf还在,总结一下恢复方法:1)先及时把原来的数据库文件(如test.mdf)备份到其他地方2)停掉服务器3)删除这个test.mdf4)重新建立一个test同名数据库5)删除这个新建立的test数据库的test.ldf文件,并用开始备份好的test.mdf文件覆盖这个新建立的test.mdf文件6)启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。.设置数据库允许直接操作系统表。此操作可以在SQLServerEnterpriseManager里面选

2、择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”7)设置test为紧急修复模式  updatesysdatabasessetstatus=-32768wheredbid=DB_ID('test')  此时可以在SQLServerEnterpriseManager里面看到该数据库处于“只读置疑脱机紧急模式”可以看到数据库里面的表,但是仅仅有系统表8下面执行真正的恢复操作,重建数据库日志文件  dbccrebuild_log('test','C:ProgramFilesMicrosoftSQLSer

3、verMSSQLDatatest_log.ldf')  执行过程中,如果遇到下列提示信息:  服务器:消息5030,级别16,状态1,行1  未能排它地锁定数据库以执行该操作。  DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。  说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQLServerEnterpriseManager打开了test库的系统表,那么退出SQLServerEnterpriseManager就可以了。  正确执行完成的提示应该类似于:  警告:数据库'test'的日志已重建。已失去事务的

4、一致性。应运行DBCCCHECKDB以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。  DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。  此时打开在SQLServerEnterpriseManager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。9.验证数据库一致性  dbcccheckdb('test')10.设置数据库为正常状态  sp_dboption'test','dbouseonly','false'  如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据

5、库啦。11最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复--以下是邹老大写的,楼主可以参考下SQLcodeUSEmaster--创建数据库CREATEDATABASEdbONPRIMARY(NAME='db_data',FILENAME='c:db_data.mdf'),FILEGROUPdb_fg1(NAME='db_fg1_data',FILENAME='c:db_fg1_data.ndf'),FILEGROUPdb_fg2(NAME='db_fg2_data',FILENAME='c:db_fg2_data.nd

6、f')LOGON(NAME='db_log',FILENAME='c:db.ldf')GO--创建表CREATETABLEdb.dbo.ta(idint)ON[PRIMARY]CREATETABLEdb.dbo.tb(idint)ONdb_fg1CREATETABLEdb.dbo.tc(idint)ONdb_fg2INSERTdb.dbo.tbSELECTidFROMsysobjectsGO--做文件组备份BACKUPDATABASEdbFILEGROUP='db_fg1'TODISK='c:db_fg1.bak'WITHFORMAT--备

7、份后,再做数据处理INSERTdb.dbo.taSELECTidFROMsysobjectsGO/*--下面演示了破坏数据文件的处理,这些操作在操作系统中进行1.停止SQLServer服务(msqlserver服务)2.删除文件c:db_fg1_data.ndf(模拟破坏)3.重新SQLServer服务,此时数据库DB置疑--*/GO--下面演示了如何恢复数据--首先要备份当前日志BACKUPLOGdbTODISK='c:db_log.bak'WITHFORMAT,NO_TRUNCATE--利用文件组备份恢复破坏的文件RESTOREDATA

8、BASEdbFILEGROUP='db_fg1'FROMDISK='c:db_fg1.bak'WITHNORECOVERY--还原到日志点RESTO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。