资源描述:
《数据库置疑解决方案及数据库文件恢复.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库置疑解决方案及数据库文件恢复作者:李凯发表时间:11-08-2609:17阅读次数:144 复制网址 字体:【大】
2、 【中】
3、 【小】 备份数据文件,然后按以下的步骤来进行处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sqlserver(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sqlserver5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) USEMASTERGO SP_CONFIGURE'ALLOWUPDATES',1RECONFIG
4、UREWITHOVERRIDEGO UPDATESYSDATABASESSETSTATUS=32768WHERENAME='置疑的数据库名'Go sp_dboption'置疑的数据库名','singleuser','true'Go DBCCCHECKDB('置疑的数据库名')Go updatesysdatabasessetstatus=28wherename='置疑的数据库名'Go sp_configure'allowupdates',0reconfigurewithoverrideGo sp_dboption'置疑的数据库名','sin
5、gleuser','false'Go 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。 SQLServer数据库文件恢复技术:SQLServer数据库备份有两种方式,一种是使用BACKUPDATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQLServerEnterpriseManager(SQLServer企业管理器)和SQLServerQu
6、weyAnalyser(SQLServer查询分析器)1、正常的备份、恢复方式正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。卸下数据库的命令:Sp_detach_db数据库名连接数据库的命令:Sp_attach_db或者sp_attach_single_file_dbs_attach_db[@dbname=]′dbname′,[@filename1=]′filename_n′[,...16]sp_attach_single_file_db[@dbname=]′dbna
7、me′,[@physname=]′physical_name′使用此方法可以正确恢复SQLSever7.0和SQLServer2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。例子:假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面我们讨论一下如何备份、恢复该数据库。卸下数据库:sp_detach_db'test'连接数据库:sp_attach_db'test','C:/ProgramFiles/Micro
8、softSQLServer/MSSQL/Data/test_data.mdf','C:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data/test_log.ldf'sp_attach_single_file_db'test','C:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data/test_data.mdf'2、只有mdf文件的恢复技术由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。如果您的mdf文件是当前数据库产生的,那么很侥幸
9、,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息设备激活错误。物理文件名'C:/ProgramFiles/MicrosoftSQLServer/MSSQL/data/test_Log.LDF'可能有误。已创建名为'C:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data/test_log.LDF'的新日志文件。但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。你也许会得到类似下面的错误
10、信息服务器:消息1813,级别16,状态2,行1未能打开新数据库'test'。CREATEDATABASE将终止。设备激活错误。物理文件名'd:/test_log.LDF'可能有误。下面我们举