Backup--如何快速截断日志
2014-01-14 23:03
323 查看
--在SQL Server 2005 中,可用使用 BACKUP LOG WITH TRUNCATE_ONLY来迅速清理日志,该命令在 SQL Server2008 及更高版本上被去除。
--BACKUP LOG WITH TRUNCATE_ONLY --该语句相当于将数据库改为简单恢复模式后又改为完整恢复模式,在该语句运行后至最近一次完整备份区间,数据库相当于运行在简单恢复模式下,所有活动日志在 checkpoint后被丢弃,且无法对数据库进行日志备份。
--BACKUP LOG TO DISK='nul' --nul并非null 的错误拼写, nul可以被看成一个虚拟文件,所有写入到 nul文件里的数据都被丢弃,对 SQL Server而言,nul 与其他真实存在的文件一样, SQL SERVER会扫描所有活动日志,将该日志格式化后写入 nul文件,数据写入到nul文件后被操作系统丢弃,然后由操作系统返回确认信息给 SQL Server,然后将活动日志标记为已日志备份,该活动日志所在空间可被 reuse。 --BACKUP LOG TO DISK='nul' 相当于正常备份日志然后删除日志文件,并不破坏备份日志链。
--总结:在SQL SERVER 2008 及以后版本中,可以通过修改数据库恢复模式方式来实现 TRUNCATE_ONLY功能,对于数据库已做镜像且数据库日志巨大的情况,如果不需要当前日志,可以使用 BACKUP LOG TO DISK='nul'方式来备份日志然后收缩。
--注意: --1>BACKUP LOG TO DISK='nul' 会导致日志不可用再恢复。
--BACKUP LOG WITH TRUNCATE_ONLY --该语句相当于将数据库改为简单恢复模式后又改为完整恢复模式,在该语句运行后至最近一次完整备份区间,数据库相当于运行在简单恢复模式下,所有活动日志在 checkpoint后被丢弃,且无法对数据库进行日志备份。
--BACKUP LOG TO DISK='nul' --nul并非null 的错误拼写, nul可以被看成一个虚拟文件,所有写入到 nul文件里的数据都被丢弃,对 SQL Server而言,nul 与其他真实存在的文件一样, SQL SERVER会扫描所有活动日志,将该日志格式化后写入 nul文件,数据写入到nul文件后被操作系统丢弃,然后由操作系统返回确认信息给 SQL Server,然后将活动日志标记为已日志备份,该活动日志所在空间可被 reuse。 --BACKUP LOG TO DISK='nul' 相当于正常备份日志然后删除日志文件,并不破坏备份日志链。
--总结:在SQL SERVER 2008 及以后版本中,可以通过修改数据库恢复模式方式来实现 TRUNCATE_ONLY功能,对于数据库已做镜像且数据库日志巨大的情况,如果不需要当前日志,可以使用 BACKUP LOG TO DISK='nul'方式来备份日志然后收缩。
--注意: --1>BACKUP LOG TO DISK='nul' 会导致日志不可用再恢复。
相关文章推荐
- Ubuntu + Qt 5.2 Lenarning Question
- fwnx - find the middle node in the linked list ~~~
- 使用ACE_Get_Opt解析命令行
- 在生成android版本时候出现的蛋疼问题Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1),
- eclipse设置指定类型文件的字符集(备忘)
- 代理模式详解--潘金莲版
- oledb读取Excel数据丢失原因
- Backup--修改实例级别是否使用压缩备份的默认值
- 练习2.1
- poj1470 Closest Common Ancestors
- Eclipse快捷键
- 从12306谈起验证码的架构
- Backup--BUFFERSIZE 和BUFFERCOUNT
- 动态库与主程序共享全局变量 -- (转)
- 支付宝2013对账单中的那些有趣数字
- 需要将一个11GB的文件传输到另外一台服务器,如何断点续传?如何限制带宽?
- 《Thinking In Algorithm》06.Binary search tree(二叉查找树)
- Ural 1313 - Some Words about Sport
- printf code
- ASP.NET知己知彼之基础知识(下)