---恢复内容开始---
对于一个优秀的应用程序来说,具有数据恢复功能尤为重要。因为数据恢复功能可以在数据找到破坏时,将数据恢复到系统中,保证系统重新正常运转,从而避免因数据找到异常丢失所带来的损失。本实例将演示怎样在C#中还原数据库。
还原数据库是使用数据库的备份文件对数据库进行还原操作。由于病毒的破坏、磁盘损坏或操作失误等原因会导致数据丢失、不完整或数据错误,此时,需要对数据库进行还原,将数据还原到某一天,前提是必须存在数据备份。
SQL Server数据库恢复支持4种类型,分别应用于不同的场合,下面进行简要介绍。
(1)还原整个数据库的完整数据库还原。
(2)完整数据库还原和差异数据库还原。通过使用RESTORE DATABASE语句还原差异备份。
(3)事务日志还原。
(4)个别文件和文件组还原。文件和文件组的还原既可以通过文件或文件组备份操作完成,也可以通过完整数据库备份操作完成。在还原文件或文件组时,必须应用事务日志。此外,文件差异备份可以在完成完整文件还原后还原。
注意:还原数据库备份将重新创建数据库和备份完成时数据库中存在的所有相关文件。但是,自创建备份文件后所做的任何数据库修改丢将丢失。若要还原创建数据库备份后所发生的事务,必须使用事务日志备份或差异备份。
本实例运用SQLDMO.Restore对象还原使用BACKUP命令所做的整个数据库备份。
RESTORE的语法格式如下:
RESTORE DATABASE{database_name|@database_name_var}
[FROM<backup_device>[,...n]]
[WITH
[RESTRICTED_USER]
[[,]FILE={file_number|@file_number}]
[[,]PASSWORD={password|@password_variable}]
[[,]MEDIANAME={media_name|@media_name_variable}]
[[,]MEDIAPASSWORD={mediapassword|@mediapassword_variable}]
[[,]MOVE 'logical_file_name' TO 'operating_system_file_name']
[,...n]
[[,]KEEP_REPLICATION]
[[,]{NORECOVERY|RECOVERY|STANDBY=undo_file_name}]
[[,]{NOREWIND|REWIND}]
[[,]{NOUNLOAD|UNLOAD}]
[[,]REPLACE]
[[,]RESTART]
[[,]STATS[=percentage]]
]