在 SQL Server 2014 上工作。
我注意到过去一天内数据库上的一个日志文件 (60GB) 已填满。据我所知,我是唯一使用此数据库的开发人员,并且我已经有一个多星期没有在数据库上执行任何事务了。我问 DBA 是否有其他人在使用该数据库,但他们不这么认为。DBA 提到自动索引重建作业可能会填满日志。
我的问题是,每小时运行的自动索引重建作业能否填满日志文件?我在这里的假设是索引不会碎片化,因此重建索引不会有任何工作。因此,日志文件不应填满。这个假设是错误的吗?我是否遗漏了 SQL Server 索引重建的工作方式以及这可能如何影响日志文件?
更新
我们正在使用 Ola 的解决方案:点击这里
EXECUTE [dbo].[DatabaseBackup]
@Databases = 'USER_DATABASES',
@Directory = N'\\DirectoryPath\',
@MirrorDirectory = N'\\DirectoryPath\',
@BackupType = 'LOG',
@Verify = 'Y',
@CleanupTime = 48,
@MirrorCleanupTime=24,
@CheckSum = 'Y',
@LogToTable = 'Y',
@Compress = 'Y'
是的。索引重建通常会重写索引中包含的所有数据。我不知道有什么例外,但可能有一些。从文档中:
你还问:
碎片并不重要,因为创建了数据的新副本。您可能正在考虑
REORGANIZE
命令。该命令执行的工作量取决于数据的碎片,但它是在小事务中完成的。