AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 54958
Accepted
Heinzi
Heinzi
Asked: 2009-08-18 01:35:07 +0800 CST2009-08-18 01:35:07 +0800 CST 2009-08-18 01:35:07 +0800 CST

SQL Server (2005/2008):完全备份是否会在完全恢复模式下截断日志

  • 772

我刚刚阅读了很多 MSDN 文档,我想我了解不同的恢复模型和备份链的概念。我还有一个问题:

完整数据库备份是否会截断事务日志(使用完整恢复模式)?

  • 如果是:MSDN 中在哪里提到了这一点?我只能找到只有 BACKUP LOG 会截断日志。

  • 如果不是:为什么?既然完整的数据库备份会启动一个新的备份链,那么将完整备份之前完成的事务保持在日志中的意义何在?

sql-server
  • 6 6 个回答
  • 56119 Views

6 个回答

  • Voted
  1. Best Answer
    Paul Randal
    2009-08-18T17:14:36+08:002009-08-18T17:14:36+08:00

    不——绝对不是。唯一允许在 FULL 或 BULK_LOGGED 恢复模型中清除/截断日志的是日志备份 - 没有例外。不久前我有这个论点,并发布了一篇冗长而详细的博客文章,其中包含解释和脚本,您可以在围绕日志和日志备份的误解中向自己证明这一点:如何说服自己。

    随时跟进更多问题。顺便说一句 - 另请参阅我为 TechNet 杂志撰写的关于了解 SQL Server 中的日志记录和恢复的长文。

    谢谢

    • 43
  2. Matt Rogish
    2009-08-18T04:14:24+08:002009-08-18T04:14:24+08:00

    完整备份不会截断日志,您必须执行备份日志操作。完整备份不会重新设置日志链——这会完全搞砸复制/日志传送等。

    您必须仔细查看 SQL Server 如何进行备份,但要知道备份中不包含运行中/长时间运行的事务(否则备份可能永远不会完成),因此说完整备份一个online-database 保证使下一个日志备份过时。

    http://msdn.microsoft.com/en-us/library/ms175477.aspx

    • 13
  3. Nick Kavadias
    2009-08-18T16:36:52+08:002009-08-18T16:36:52+08:00

    据我了解,唯一会截断事务日志的是日志备份。

    完整备份仅复制足够多的日志以使其在事务上保持一致,因为备份操作需要一段时间才能完成,并且在此期间,复制的页面可能已更改。

    您仍然需要日志备份以进行时间点恢复。

    我没有 MSDN 可链接,但我可以将您链接到Paul Randal 的博客,他是 SQL Server 团队的开发人员,编写了 DBCC CHECKDB 和联机丛书的部分内容。

    他还在这个论坛上回答了问题,所以这将是一个比我提供的第二/第三手信息更好的权威:)

    • 8
  4. Peter
    2015-01-28T02:27:50+08:002015-01-28T02:27:50+08:00

    人们经常对完整备份和日志备份有一个误解。为了使备份在备份恢复模式下工作,必须使用 t-logs,因为在备份期间,数据库中可能仍然存在事务(除非您在关闭数据库时FULL执行所谓的备份)。COLD当数据库处于ARCHIVELOG模式时,Oracle 使用相同的概念。备份的顺序归结为:

    1. 开始备份 - 暂停真实文件中的所有操作并写入 t-logs。
    2. 执行备份 - 所有事务继续,但不写入真实文件,它们被写入 t-logs
    3. 结束备份 - 继续将数据库事务写入真实文件。
    4. 如有必要,将 T 日志中的内容刷新到真实文件中。

    这就是为什么 t-logs 在默认情况下不会被截断/收缩的原因,因为它们是备份阶段事务继续的重要部分。

    • 5
  5. Lee Matthews
    2009-09-03T16:58:12+08:002009-09-03T16:58:12+08:00

    不要将截断日志与缩小日志混淆。

    • TRUNCATE 是删除日志中最后一个检查点之前的事务(检查点是事务被刷新到数据库本身时)。这是使用 BACKUP 命令完成的。

    • 缩小日志是为了减少实际的日志文件大小。这是使用 DBCC 命令完成的。

    • 1
  6. zz
    2009-10-08T00:09:52+08:002009-10-08T00:09:52+08:00

    基本上您不需要每次都自动缩小事务日志,因为事务日志需要空间才能工作,如果您自动截断,它将保持几乎相同的大小。

    • 1

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • SQL 洗衣清单

  • OPENROWSET、二进制文件、varchars 和 varbinaries

  • 聚集索引与非聚集索引?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve