SQL Server 2000数据库恢复指南:轻松附加MDF文件教程
急!在线等!SQLServer2000数据库文件如何恢复?
按照以下步骤使用SQLServer2000恢复数据库文件。首先,您需要打开SQLServer的管理工具,即EnterpriseManager。
在企业管理器中,右键单击要还原的数据库,然后选择附加数据库。
此外,您可以使用查询分析器进行数据库恢复。
查询分析器需要在MASTER数据库中运行名为SP_ATTACH的内部存储过程。
对于具体的使用信息,我们建议您参考T-SQL帮助文档,其中包含示例。
急!在线等!SQLServer2000数据库文件如何恢复?
运行SQLserver2000企业管理器并使用DatabaseAdd-in可以解决数据库文件恢复问题。步骤如下:1.打开企业管理器。
2.选择一个数据库。
3.右键单击数据库并选择“所有任务”。
4.在弹出的选项中,选择附加数据库。
5.在“将MDF文件附加到数据库”框中,选择您的MDF文件。
6.确认信息无误后,点击“验证”按钮。
7.最后,单击“确定”按钮完成数据库文件恢复过程。
通过以上步骤,可以顺利恢复SQLserver2000数据库文件,保证数据安全和业务连续性。
请注意,使用此方法恢复数据库文件时,必须确保所选的MDF文件是完整且未损坏的文件,以避免数据恢复失败。
实际操作过程中,建议定期备份重要数据,防止数据丢失。
sqlserver删除数据错误能还原吗
1.如果LOG文件完整,则可以恢复。
但一般来说,数据库的整个状态都会恢复到数据意外删除之前的状态。
建议备份当前数据库。
2.给出了SQL2008下的具体方法。
其他版本的SQLServer可能会参考该操作。
最常用的是日志尾部备份恢复方法。
下一个环境是2008R2。
此方法适用于2008及以上版本。
其实2005年也可以用,2000年很少用,没有测试过。
(SQL2008之前,可以使用第三方工具LogExploer。
)
(1)检查数据库恢复模型,如图:
p>或者使用脚本检查:
SELECTrecovery_model,recovery_model_descFROMsys.databasesWHEREname='AdventureWorks'结果如下:
确保数据库恢复模型不能至少为[简单]。
如果不是完整模式,请将其切换为完整模式。
如果数据在更改之前被删除,则无法恢复。
(对于大型生产数据库环境,强烈建议使用【完全恢复模型】,尽管对于其他两种(批量日志(BULK_LOGGED)、简单(SIMPLE))),全量恢复模式产生的日志会很大,但是出现问题的时候就显得没什么了)
(2)要求已经满足了。
至少一个完整备份。
由于所有备份类型均基于完整备份,因此如果没有至少一次完整备份,其他备份类型将无效。
因此,在创建新数据库后,强烈建议执行完整备份。
使用以下语句查看大约备份了哪些数据库:
SELECTdatabase_name,recovery_model,nameFROMmsdb.dbo.backupset
(3)确保其他人不再连接数据库,然后备份日志尾部:
首先创建几个data:
/*此处使用MicrosoftAdventureWorks示例数据库作为示例*/USEAdventureWorksGOIFOBJECT_ID('testRestore')ISNOTNULLDROPTABLEtestRestoreGOCREATETABLEtestRestore(idINTIDENTITY(1,1),NAMEVARCHAR(50));--插入测试数据:INSERTINTOtestRestore(Name)SELECT'test1'UNIONALLSELECT'test2'UNIONALLSELECT'test3'UNIONALLSELECT'test4'UNIONALLSELECT'test5'UNIONALLSELECT'test6'UNIONALLSELECT'test7'UNIONALLSELECT'test8'SELECT*FROMtestRestore检查结果:
然后进行删除操作。
为了查明这种情况何时发生,我添加了一个waitfor命令,使其在某个特定时间发生,这样恢复就会准确:
USEAdventureWorksGOWAITFORTIME'21:45'DELETEFROMdbo.testRes撕裂
现在我们来看看数据:
USEAdventureWorksGOSELECT*FROMdbo.testRestore
《<<<<<<<<<<下面是重点key〉〉〉〉〉〉〉〉〉》
要进行日志备份,最重要的是选择【日志备份】
然后在【选项】页面选择:除了【Logof交易],其他红框圈起来的地方强烈建议勾选。
并确保没有其他人连接到数据库,因为结束备份日志将使数据库处于恢复状态并拒绝来自其他会话的连接。
如果没有断开其他连接,则无法进行备份。
按确定,您也可以使用上面的【脚本】来生成指令:
USEMasterGOBACKUPLOG[AdventureWorks]TODISK=N'E:\AdventureWorks.bak'WITHNO_TRUNCATE,NOFORMAT,NOINIT,NAME=N'AdventureWorks-事务日志备份'、跳过、NOREWIND、NOUNLOAD、NORECOVERY、压缩、STATS=10、CHECKSUMGOdeclare@backupSetIdasintselect@backupSetId=positionfrommsdb..backupsetwheredatabase_name=N'AdventureWorks'andbackup_set_id=(selectmax(backup_set_id)frommsdb..backupsetwheredatabase_name=N'AdventureWorks')if@backupSetIdisnullbeginraiserror(N'验证失败。
找不到数据库“AdventureWorks”的备份信息。
',16,1)endRESTOREVERIFYONLYFROMDISK=N'E:\AdventureWorks.bak'使用文件=@backupSetId,NOUNLOAD、NOREWINDGO
此时数据库会处于【恢复】状态
如果发现无法进行备份,可以使用如下语句检查并杀死spid:
SELECT*FROMsys.sysprocessesWHEREdbid=DB_ID('AdventureWorks')执行结果为:
然后使用kill语句杀死。
然后继续备份,然后恢复,如图所示。
先恢复完整备份,选择最新的,只有最新的备份才会被识别,所以。
选择最后一项,否则无法恢复。
还有一个注意事项,记得选择如下:
然后恢复日志文件,这是最重要的一步:
则:
(图中,数据为晚上10点20分删除的,只要指定你误删除之前的时间即可)由于最终的日志备份是最后一个备份文件,那么这里就选择红框部分即可:
单击“确定”。
完成后,再次检查表格。
你可以看到,.数据已成功恢复。
**********************************************************************************
摘要:
1.方法看似有点繁琐,但实际操作起来并不算太难。
2.再次强调,首先备份本地环境。
无论停电的影响有多么严重,当时的情况都必须保留。
如果不是重要的生产数据,就忘记它。
3.建议在实际操作大型数据库之前严格遵循以上提示,建议在正式操作之前在测试数据库中进行练习和理解。
另外提醒一下,这种方法的缺点是:
1如果出现‘错误’后还有很多其他人做过该操作,则在错误。
恢复时,其他人的操作数据会被刷新,所以在一次错误的操作之后,应该考虑停止其他人对数据库的操作。
。
2.该方法必须是数据库独占的。
操作过程中,其他人无法使用和连接数据库。