我们有一个标准的扩展事件会话来收集在我们的 SQL 服务器上运行的数据库和日志文件的增长。我在一个大表上创建一个索引,知道它可能会填满事务日志。确实如此,但是调查日志驱动器空间不足的原因的 DBA 无法将索引构建视为罪魁祸首。它显示了除索引构建之外的所有其他事务。有谁知道这背后的原因?我一意识到有问题就终止了索引构建,它释放了所有空间。我想知道这背后的原因。
此服务器正在运行 SQL 2016 CU 15 - 企业版。
这是我正在运行的查询:
CREATE NONCLUSTERED INDEX [ix_myIndex]
ON [dbo].[MyTable]([MyField] ASC)
WITH(PAD_INDEX=OFF, STATISTICS_NORECOMPUTE=OFF, SORT_IN_TEMPDB=ON, DROP_EXISTING=OFF, ONLINE=ON, ALLOW_ROW_LOCKS=ON, ALLOW_PAGE_LOCKS=ON);
以下是我们用于捕获日志文件增长的事件:
ADD EVENT sqlserver.databases_log_file_size_changed
(ACTION
(package0.collect_system_time,
sqlos.task_time,
sqlserver.client_app_name,
sqlserver.client_hostname,
sqlserver.client_pid,
sqlserver.database_id,
sqlserver.database_name,
sqlserver.server_instance_name,
sqlserver.session_id,
sqlserver.sql_text,
sqlserver.username))