0

我们有 SQL Server 2012(在 Windows Server 2012 R2 上)和为 AlwaysON (01-03) 配置的数据库,我们每天进行一次完整备份,每 5 分钟记录一次备份。数据库大小为 288 GB(mdf - 88 GB,ndf - 110 GB,ldf - 84 GB)。

没有长交易。我将日志文件缩小了两次并购买了 4 GB,但在 2 天内它们又恢复到了 88 GB。

我怎样才能解决这个问题?

4

2 回答 2

0

我缩小了两次日志文件并购买了 4GB

由于您能够缩小日志并且日志文件大小减小,因此您看到的日志增长可能是由于大量事务造成的。

下面是找出哪些事务导致日志增长的方法......

select 
    txt.text,
    sum(trn.database_transaction_log_bytes_used + 
        trn.database_transaction_log_bytes_reserved) as totallogused 
from 
    sys.dm_tran_database_transactions trn
join
    sys.dm_exec_requests ec on ec.transaction_id=trn.transaction_id
cross apply
    sys.dm_exec_sql_text(EC.sql_handle) txt
group by 
    txt.text
于 2017-09-08T16:28:07.153 回答
0

据我了解,事务日志文件可能增长的一些原因是:

  1. 长时间运行的查询:

    select name, log_reuse_wait_desc 
    from sys.databases  
    

    这应该说明为什么事务日志文件没有释放空间

  2. 优化作业运行,也可能导致事务日志文件增长

  3. 日志备份频率设置不正确 - 有时最好的选择是在任何优化作业运行之前 - 检查日志文件使用情况 - 如果您需要在任何优化作业运行之前设置日志备份

除非出现异常情况,否则安排适当的日志备份是处理日志增长的最佳方式。

于 2017-09-08T16:28:38.883 回答