SQL Server 2008 / R2恢复模型


11

我们某些服务器上的几乎所有数据库都不需要完全恢复模型(我们不执行事务日志备份),默认应始终是创建数据库并指定简单恢复模型。

出于某些实际原因,经常使用SSMS创建许多数据库。但是,可能会出错,并且操作员会忘记指定简单恢复模型。几天后,由于三个或四个从未被截断的60GB日志文件而导致磁盘空间不足时,这会导致“意外”。

通过在model数据库上配置恢复模型,可以使简单恢复模型成为新数据库的默认设置。但是,是否建议这样做,如果我这样做,将来它会以任何方式咬我吗?

Answers:


17

我在这里看到三个选项之一:

1)您可以使用模板化脚本来创建明确包含恢复模型的数据库

2)您可以model数据库设置为简单,而不必为此担心。

3)您可以希望每个人都记得,这就像您在做什么。(不建议)

我个人将排第二。这就是模型数据库的用途。


我同意#2并遵循此做法。此外,如果您发现自己所在的组织允许任何人在DEV数据库服务器上创建任何内容,那么这将使任何人都不会影响自己或他人。
jl01 2011年

1
#2是前往这里的方式。
mrdenny 2012年

5

添加到@ Surfer513

4)基于策略的管理策略要么强制实施简单的恢复模型,要么至多让您知道​​何时没有数据库

尽管我赞成将模型设置为简单,但这不会阻止使用T-SQL命令并将其设置为其他命令。您可以使用策略评估恢复模型是否不简单,并选择让策略为您更改它。

这篇 MSSQLTip.com文章介绍的是“完整”检查,但是您可以轻松地检查“简单”检查。您还可以检查数据库是否也曾经进行过备份。


-1

可以肯定的是,将数据库置于完整模式,但随后出现了日志增长问题。现在有一些选择:

  • 对日志文件的最大大小进行限制。一旦达到此限制,这将影响操作。这样做的好处是可以防止磁盘空间不足而导致更大的问题。
  • 创建一旦您的日志文件超过水印就触发的警报,然后对其进行管理。
  • 计划日志收缩作业。混用日志会损害数据库的性能。我不建议这样做。

作为DBA,您应该使用有助于恢复的所有选项。这也取决于您与业务相关的SLA。

综上所述,我以简单模式管理一些数据库。这是因为SLA中概述了免责声明。企业决定不为日志文件的驱动器花钱(您可以骑马,但不能喝水)。企业管理备份,还原和灾难恢复。有一个灾难恢复,所损失的钱大于在额外磁盘空间上的损失。


2
该答案无视用户想要做什么。关于你的观点:1是有效的; 2是有效的。2添加更多细节。同样,为了管理日志大小,您必须进行日志/完整备份。3您将永远无法缩小日志文件,除非您备份它们以释放空间。至于性能,只有在日志文件再次增长时,收缩才会受到影响。日志文件的行为不同于数据文件。
埃里克·汉弗莱

在事务日志上设置最大大小通常是一个非常糟糕的计划,因为这会导致磁盘未满而造成中断。#3是一个可怕的想法,甚至不应该提出来。
mrdenny 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.