数据库备份还原sql命令实例
数据库备份还原sql命令实例
00
数据库还原 --------无日志备份的数据库恢复sql语句------
--完整备份恢复
restore database 数据库名 from disk = '待恢复的完整备份文件的绝对路径' with replace,norecovery;
--增量备份恢复
restore database 数据库名 from disk = '待恢复的增量备份文件的绝对路径' with recovery;
--------有日志备份的数据库恢复sql脚本------
--完整备份恢复
restore database 数据库名 from disk = '待恢复的完整备份文件的绝对路径' with replace, norecovery;
-
-增量备份恢复
restore database 数据库名 from disk = '待恢复的增量备份文件的绝对路径' with norecovery;
--日志备份恢复
restore log 数据库名 from disk = '待恢复的增量日志文件的绝对路径' with recovery;
数据库备份
1.全量数据备份
备份整个数据库,恢复时恢复所有。优点是简单,缺点是数据量太大,非常耗时
全数据库备份因为容易实施,被许多系统优先采用。在一天或一周中
预定的时间进行全数据库备份使你不用动什么脑筋。使用这种类型的备份带来
的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜
在威胁。例如,假设你每天在午夜备份数据库。
如果服务器在晚上11点崩溃了,你将丢失前面23个小时对数据所做
的全部修改。对大多数系统来说,这是无法接受的。对此规则,为数不多的例
外如下:
1.系统中所存的数据可以很容易地再创建。这类服务器中一个很好的
例子是报表服务器,其中所存的所有数据都由一个批处理过程装载的。如果这
个数据库被冲掉了,你只需要再运行一次这个批处理过程,所有数据就可以恢
复了。
2.不经常修改的数据库。一个例子是被收集存储在数据中心或数据仓
库的历史数据。通常,查询这些数据以判断趋势,但是这些数据极少被修改。
3.一个遥远的站点,那里很少或没有数据库管理员支持。这种类型的
站点常常依靠没受过足够培训的人来维持备份计划,并且他还从事其他工作。
通常最好保证实施的备份计划非常简单,不必让那些用户监视和维护它。
4.系统中所存数据的重要性很低。一个很好的例子是开发用服务器。
在这些类型的服务器上,开发者通常装载一些旧的或假定的数据来测试应用程序。这类数据库每天的备份是可接受的。
Sql语句:
BACKUP DATABASE [wxh] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\wxh.bak ' WITH
NOFORMAT, NOINIT, NAME = N'wxh-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
2.增量数据备份(Differential Backups)
所谓增量,就是以某个起始时间点的全量数据为基础,备份该时间点
以后的数据。而起始时间点的全量数据,就是通过全量备份而为的。
如果有人告诉你“每周一进行全量备份,每天进行一次增量备份。”,这就意味着,星期一作一次全量配份,形成一个起始时间点的全量数据;星期
二备份星期一以来的数据;星期三也备份星期一以来的数据;.......星期天也备份星期一以来的数据。到第二周的星期一时,又执行一次全量配份,再开始
新的备份周期。
如果要恢复星期三的数据,则要先恢复星期一的全量数据,然后再恢
复在星期一到星期三之间的增量数据。
增量备份是能用来帮助你实施备份计划的最新技术。这种备份,像事
务日志备份一样,只备份你上次全数据库备份后所做的修改。与事务日志备份
不一样的是这种备份不允许时间点恢复。它只允许你在实际所做的备份点上恢复。所以,这种备份通常要有事务日志备份作为补充。在下列情况下,增量备
份非常有用:
1.你想通过联合使用全数据库备份、增量备份和事务日志备份最大程
度地减少花费的时间。
2.数据库的大小使经常做全数据库备份很困难的情况。
3.一个遥远的站点,那里很少或没有数据库管理员支持。这种类型的
站点常常依靠没受过足够培训的人来维持备份计划,而且他还经常从事其他工作。通常最好保证实施的备份计划非常简单,不必让那些用户监视和维护它。
4.系统中所存数据不是非常重要,所以所做的一些修改丢失后,不会
导致灾难性的后果。对于这种类型的系统,手工重建数据比建立一个事务日志
备份计划更容易。
Sql语句
BACKUP DATABASE [wxh] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\wxh.bak ' WITH DIFFERENTIAL , NOFORM
AT, NOINIT, NAME = N'wxh-Differential Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
3.日志备份
周一做一次全量数据备份,周二时备份周一至周二的日志,周三时配份周二至周三的日志......。
若要恢复周三的数据,则先恢复到周一的全量数据,再按周一至周二的日志、周二至周三的日志进行数据库操作
一个事务日志备份只备份事务日志中的信息。事务日志备份必须与至少一次全数据库备份联用,这是因为如果恢复数据,必须要有一个开始点。事务日志备份比全数据库备份少花费许多资源,经常执行也容易多了。这实际上有两个目的。首先是缩短了最后一次备份与服务器失败之间的时间间隔,因而减少了数据损失。事务日志备份还允许你实施一种特殊类型的恢复,即时间点恢复。这种类型的恢复允许你恢复数据到一个特定的时间点,比如到一次实际失败发生前5分钟时。
当某人所做的大量的数据修改或删除要取消时,它显得特别有用。你只需简单地恢复数据库到这次动作发生的时间点前。事务日志恢复在下列情况时非常有用:
1.数据库被高频率地修改。在发生大量的数据库修改时,数据库备份可能很快就过时了,如果把事务日志备份和全数据库备份联系起来使用,这些修改你都能记录下来。
2.你想采取时间点恢复。像我前面提到的,时间点恢复是非常重要和有用的,你可以通过事务日志备份来实现。
3.不能接受丢失大量数据的情况。在这种情况下,你可以每天做一个全数据库备份,再每小时或更频繁地做事务日志备份。这将减少数据丢失量。
4.数据库的大小使得经常做全数据库备份很困难。例如,非常大的数据仓库很容易达到上万亿字节。这种情况下,你可以做一次全数据库备份,然后当数据修改时,再做一次事务日志备份。
Sql语句:
BACKUP LOG [wxh] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\wxh.bak ' WITH NOFORMAT, NOINIT, NAME = N'wxh-Transaction Log Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
4.增量数据备份与日志备份相结合
sql语句:
备份整个数据库:
sqlserver备份表语句BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。