我们有 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。
我怎样才能解决这个问题?
我们有 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。
我怎样才能解决这个问题?
我缩小了两次日志文件并购买了 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
据我了解,事务日志文件可能增长的一些原因是:
长时间运行的查询:
select name, log_reuse_wait_desc
from sys.databases
这应该说明为什么事务日志文件没有释放空间
优化作业运行,也可能导致事务日志文件增长
日志备份频率设置不正确 - 有时最好的选择是在任何优化作业运行之前 - 检查日志文件使用情况 - 如果您需要在任何优化作业运行之前设置日志备份
除非出现异常情况,否则安排适当的日志备份是处理日志增长的最佳方式。