1

问题:我想知道是否可以在不填写事务日志的情况下对表应用索引。

详细信息:我有一个 800GB 的表。几个月前,我去应用了一个索引并且交易日志填满了(出于显而易见的原因 - 我什至愚蠢地尝试它)。相反,我不得不重新创建表,应用我想要的索引,然后复制记录。

现在我们要在这个表上设置分区。我想知道是否删除聚集索引并在分区布局上应用新的聚集索引,如果它仍然会填满事务日志(假设我每个分区有 1000 万行)?或者 tlog 不会填满,因为索引也会被分区,这将允许 SQL 服务器更快地完成索引并能够检查点?

有人知道吗?否则,我可以再次重新创建表并将分区内容应用于它并重新填充它,但显然这涉及更多。

谢谢!

4

1 回答 1

0

应用分区方案将导致巨大的日志,是的。

首先,我建议您看看是否可以(如果可能)实现最小登录操作。如果数据库处于批量记录模式,则脱机 CREATE INDEX 需要进行最低限度的记录。

如果不可能(例如,需要完全恢复),我会考虑在线移动到分区表。在线操作是小批量操作并且经常提交。只要您经常备份日志,它就不会增长到那么大。

于 2012-07-09T18:44:03.393 回答