首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AlwaysOn可用性组时收缩事务日志

问使用AlwaysOn可用性组时收缩事务日志
EN

Database Administration用户
提问于 2014-08-13 06:04:43
回答 2查看 84.6K关注 0票数 18

我们正在使用Server 2012的AlwaysOn Availability Group特性。每天都会在辅助数据库上进行常规的完整数据库备份和事务日志备份。

我读过这里在主副本上执行事务日志备份,或者二级副本将两个副本的事务日志标记为可重用。无论如何,事务日志备份大小很大,可以使用收缩文件减少:

我已经在本地还原数据库并执行收缩操作。日志文件大小减少到160 MB。

我的问题是,应该在哪个数据库上对事务日志文件(主、二级或两者)执行收缩操作?

我想在过去的几年里没有备份日志文件,所以它变得如此庞大。执行DBCC SQLPERF (LOGSPACE)时,我可以看到只使用文件的0.06% --我没有必要保持如此大的日志文件大小。在[sys].[database_files]中,我检查它的max_size是否设置为-1,而growth设置为65536,所以我猜当它需要更多的空间时,它会得到更多的空间。无论如何,我可以把它缩小到5%,例如,为了防止将来的增长。我正在设法确认我这样做并不是个坏主意。

实际上,备份(在数据库和日志文件上)只在辅助数据库上执行,因此对它们执行收缩文件会更容易,但是主日志文件大小也会减少吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2014-08-13 07:56:43

在AGs中,写入只能发生在主节点上。收缩操作是写的。因此,你必须在主刀上做心理医生。请注意,收缩可能不会像您预期的那样收缩,您在恢复的DB上的测试可能利用了简单的恢复模型。阅读如何收缩服务器日志获取更多信息。

不要收缩到160 to。确定为什么日志会增长到121 it,这样就不会重复了(如果可能的话,最好能确认一下)。将日志大小调整到适合您的操作需要的大小。日志增长是一个严重的问题,它不能使用即时文件初始化,所有数据库活动都会在日志增长和0初始化时冻结。当它发生时,用户和应用程序都讨厌它。如果您理解它的影响,并且您的用户还好,您可以缩小一次到一个小数量(160 it可能太小),让它增长,直到它稳定下来。

票数 23
EN

Database Administration用户

发布于 2022-07-07 06:34:36

NOTRUNCATE只适用于数据文件。日志文件不受影响。

有关SHRINKFILE的更多信息,请查看官方文档https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-shrinkfile-transact-sql?view=sql-server-ver16

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/73850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档