- 爱易网页
-
MSSQL教程
- 请问下MSSQLSERVER数据库恢复有关问题,多谢
日期:2014-05-18 浏览次数:20477 次
请教下MSSQLSERVER数据库恢复问题,谢谢
请教下:
MSSQLSERVER数据库在没有备份的情况下,能否恢复到某个时间点的数据;
我的程序在运行过程意外的删掉了数据库里的重要数据,删除前没有备份,现在有没有什么办法恢复数据,怎么操作。
谢谢各位了
------解决方案--------------------
SQL备份
---------------
1、SQL数据库恢复模型
-------------------------------------------------------
---------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信息来
恢复数据库。
(3)能还原全部数据,并可以将数据库恢复到任意指定的时刻。
(4)为保证实现即时点恢复,对数据库的所有*作都将完整地记入
日志,这样,日志占用空间较大,对性能也有所影响。
------------------
(2)大容量日志记录恢复模型
------------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信息来
恢复数据库。
(3)日志中不记录*作细节(如select into、create index等)
,而只记录*作的最终结果,因此占用日志空间小。
(4)只支持将数据库还原到事务日志备份的时刻,而不支持即时
点恢复,因此可能产生数据丢失。
-------------------
(3)简单恢复模型
-------------------
(1)备份时只备份数据文件,还原时也用备份的数据文件恢复数
据库。
(2)只能将数据恢复到数据文件备份的时刻,可能产生最多的数
据丢失。
(3)不适于生产系统和大规模*作环境下选用。
-----------------------------------------
alter database d1 set recovery simple --设置数据库恢
复模型
alter database d1 set recovery bulk_logged
alter database d1 set recovery full
-------------------------------------------------------
---------------
2、备份设备
-------------------------------------------------------
---------------
1)物理设备
---------------------------
disk:支持本地磁盘或者网络备份
tape:支持磁带机备份
name pipe:支持第三方备份软件
---------------------------
2)逻辑设备
---------------------------
永久备份文件:可以重复使用,应该在备份前创建。
临时备份文件:用于一次性备份,在备份时创建。
-------------------------------------------------
exec sp_addumpdevice 'disk','bak2','e:\back_device
\bak2.bak' --创建永久磁盘备份设备
exec sp_addumpdevice 'disk','bak3','e:\back_device
\bak3.bak'
-------------------------------------------------------
---------------
exec sp_addumpdevice 'disk','bak4','\\sv2\backup
\bak4.bak' --创建网络永久磁盘备份设备
exec sp_addumpdevice 'disk','bak5','\\sv2\backup
\bak5.bak'
-------------------------------------------------------
---------------
exec sp_dropdevice 'bak5' --删除备份设备
-------------------------------------------------------
---------------
backup database d3 to bak3 --将数据库备份到备份设备
backup database d4 to bak4
-------------------------------------------------------
---------------
restore headeronly from bak2 --查看备份设备中的内容
-------------------------------------------------------
---------------
backup database d3 to disk='e:\back_file\d3.bak' --将
数据库备份到临时备份文件
backup database d4 to disk='e:\back_file\d4.bak'
-------------------------------------------------------
---------------
restore database d3 from bak3 --从备份设备还原
数据库
restore database d4 from disk='e:\back_file\d4.bak' --从
备份文件还原数据库
-------------------------------------------------------
---------------
3、使用多个备份文件存储备份
-------------------------------------------------------
---------------
1)SQL可同时向多个备份文件进行写*作。如果把这些文件放到多
个磁带机或磁盘中,则可提高备份速度。
2)这多个备份文件必须用同业型的媒体,并放到一个媒体集中。
3)媒体集中的文件必须同时使用,而不能单独使用。
4)可以通过format命令将媒体集重新划分,但原备份集中的数据