首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >帮助理解“使用的日志空间”度量

帮助理解“使用的日志空间”度量
EN

Database Administration用户
提问于 2018-10-08 22:54:28
回答 1查看 42关注 0票数 0

下面的图表来自一个监控工具。显示的指标是Server 2016在过去7天中使用的“日志空间”。

我在找人帮忙了解这是怎么回事。

我所知道的是IT部门经常使用第三方工具(Veeam)来“备份”。我建议每晚执行完整备份,每15分钟执行一次日志备份(但我不确定这些备份是数据库文件的磁盘映像备份还是Veeam为执行备份而向SQLServer发出的命令)。其中一个步骤包括Server的“进程日志”,我认为其中一个步骤是截断日志。

我理解截断日志意味着将日志文件中可能被重用的部分标记为非活动部分。目前,我理解(对或错),如果Server知道日志文件部分已通过备份写入磁盘- ie,则可能会重用它。

我在这张图表上看到的是

  1. 在最左边的一个DB中,日志文件的使用率异常高-忽略它。
  2. 日增长,然后每天清除每个日志文件(3个驼峰)。
  3. 生长超过3天(星期五,星期六,太阳),然后截断。

我在这里的解释是,日志备份必须发生,否则使用率不会降到接近零。

我怀疑日志备份每天只发生一次--尽管我不认为这个图表能证明这一点。例如,有可能在工作时间内有更频繁的日志备份,但是由于一个长期运行的事务,在那个时候不会发生截断。但是,在Veeam夜间备份时,发出截断命令并成功执行。尽管存在这种可能性,我仍然认为Veeam每天只执行一次日志备份。

这里的部分问题是,Veeam对我来说有点像个黑匣子--我不知道它是如何配置的。我也不清楚它是在拍摄硬盘的快照图像(即数据库文件),还是指示SQLServer执行备份。

我的目标是确保我们进行频繁的日志文件备份(并计算出良好的频率),以便支持跨所有这些数据库的完整恢复模型。如果我确定目前我们进行日志备份的频率不超过每晚,那么我还需要确保,如果我为频繁的日志备份采取了相应的措施,我就不会与Veeam竞争,使Veeam和SQLServer中的任何计划任务不会为对方打破日志链--对于如何检查和计划这些事情,我们将非常感激。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-10-09 06:24:43

可以使用标准报表检查备份历史记录:

..。通过使用一些脚本:检索服务器数据库备份历史记录且不进行备份的脚本

代码语言:javascript
复制
--------------------------------------------------------------------------------- 
--Database Backups for all databases For Previous Week 
--------------------------------------------------------------------------------- 
SELECT 
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, 
msdb.dbo.backupset.database_name, 
msdb.dbo.backupset.backup_start_date, 
msdb.dbo.backupset.backup_finish_date, 
msdb.dbo.backupset.expiration_date, 
CASE msdb..backupset.type 
WHEN 'D' THEN 'Database' 
WHEN 'L' THEN 'Log' 
END AS backup_type, 
msdb.dbo.backupset.backup_size, 
msdb.dbo.backupmediafamily.logical_device_name, 
msdb.dbo.backupmediafamily.physical_device_name, 
msdb.dbo.backupset.name AS backupset_name, 
msdb.dbo.backupset.description 
FROM msdb.dbo.backupmediafamily 
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id 
WHERE (CONVERT(datetime, msdb.dbo.backupset.backup_start_date, 102) >= GETDATE() - 7) 
ORDER BY 
msdb.dbo.backupset.database_name, 
msdb.dbo.backupset.backup_finish_date 

..。或者查看服务器的ERRORLOG文件并搜索Source = Backup

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

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

复制
相关文章

相似问题

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