【发布时间】:2017-06-29 05:39:16
【问题描述】:
目前我们有一个包含超过 1100 万条记录的 AuditLog 表。无论在索引和统计信息上,任何引用该表的查询都需要很长时间。大多数报告不会检查过去一年的审计记录,但我们仍希望保留这些记录。处理这个问题的最佳方法是什么?
我正在考虑保留 AuditLog 表以保存小于或等于一岁的所有记录。然后将任何超过一年的记录移动到 AuditLogHistory 表中。也许只是每晚运行一个批处理文件来移动这些记录,然后更新 AuditLog 表的索引和统计信息。这是完成此任务的好方法吗?或者我应该以什么其他方式存储旧记录?
从 AuditLog 表中带回的记录访问了一个链接服务器,并检查了 6 个不同的数据库,以根据条件查看其中是否存在某个成员。我无权对链接服务器数据库进行任何更改,因此只能优化我所拥有的 Auditlog。访问链接服务器数据库会占用超过 90% 的查询成本。所以我只是想限制我能做的。
【问题讨论】:
-
尝试您的解决方案并列出优缺点。
-
在尝试任何事情之前,我想征求意见,如果这是最好的方法。
标签: sql sql-server audit-logging historical-db