SQL Server日志文件增长迅速

时间:2017-09-08 16:11:54

标签: sql sql-server sql-server-2012 database-backups alwayson

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

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

  1. 长时间运行的查询:

    select name, log_reuse_wait_desc 
    from sys.databases  
    

    这应该说明事务日志文件未释放空间的原因

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

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

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