SQLServer2008数据库备份还原和数据恢复
在完整恢复模式或大容量日志恢复模式下,必须先备份活动事务日志(称为日志尾部),然后才能在SQLServerManagementStudio中还原数据库。有关详细信息,请参阅如何备份事务日志(SQLServerManagementStudio)。若要还原已加密的数据库,您必须有权访问用于加密数据库的证书或非对称密钥。如果没有证书或非对称密钥,数据库将无法还原。
认识数据库备份和事务日志备份
数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点。
数据库备份
数据库备份可以手动备份和语句备份
一.手动备份数据库
1.鼠标右键选择你要进行备份的数据库-任务-备份
可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份
2.点击添加选项,选择数据库文件的存放路径
注意文件名记得加后缀.bak,便于恢复时的查找
3.你还可以在选项页面是追加到现有的备份集,还是覆盖所有的现有备份集,还可以选择备份验证完整性(建议选择),还可以选择是否压缩备份等。
二.语句备份数据库
use master goBACKUP DATABASE [test] TO DISK = N'D:\Microsoft sql server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test.bak' WITH NOFORMAT, NOINIT, NAME = N'test-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO
数据库日志备份
首先需要注意,数据库日志的备份是基于数据库完整备份,也就是说你备份数据库日志之前你首先要先对数据库进行一次完整的备份,因为之间会涉及到坚持到检查点lsn,这也是本文接下来要讲的重点。
一.手动备份数据库日志
1. 右键数据库-任务-备份-选择备份类型(事务日志)
2. 2.点添加,添加日志文件备份存储路径
3. 3.同数据库完整备份一样,你也可以选择覆盖现有备份集或者追加到现有备份集,这里现在覆盖现有备份集、验证完整性,然后确认备份
4. 二.语句备份数据库事务日志
5. BACKUP LOG [test] TO DISK = N'D:\test.trn' WITH NOFORMAT, INIT, NAME = N'test-事务日志 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10GO
6. 数据库还原
7. 右键数据库-还原数据库-添加需要进行还原的数据库文件路径
8. 在还原源选项中你可以选择‘源数据库’,‘源设备’。1.选择源数据库工具会自动显示该数据库之前的一些备份,然后直接选择需要还原的数据库备份集。
9. 选择源设备点击后面的...,添加需要还原的数据库文件
10. 2点击确认还原数据库
11. 数据库恢复
12. 数据库恢复的前提是1.一个完整的数据库备份2.包含这个完整数据库备份的事务日志备份3.完整备份之间也可以存在数个差异备份
13. 对于数据库维护空间始终是一个比较头疼的问题,特别是对于大型数据库而言,每天的日志文件增长是庞大的,很多数据库管理员会定时对数据库日志文件进行收缩,但是经常收缩会存在收缩完日志文件还是不能减少,这是因为存在很多活动的日志无法收缩可以用
14. DBCC LOGINFO('数据库名称')