我们使用 SQL Server 2008 R2 标准版(我们无法在所有生产数据库服务器上负担企业版),并且必须定期维护生产服务器中的关键索引(重建/重组)。问题是,由于我们使用的是标准版,我们无法访问重建索引在线选项。如果我们在重建这些关键索引时不限制对数据库的访问,我们会收到许多超时错误,因为索引在重建期间基本上被禁用。我使用过诸如Ola Hallengren 的 Index Optimize script 之类的脚本,但这似乎并不能解决我的问题。
我想要解决这个问题的方法是在索引碎片时重建索引,而不是在索引碎片时创建一个单独的索引副本(即 IX_some_name_temp),一旦完成,删除原始碎片索引并最后重命名副本索引回到原来的名字。我希望的是,在构建新索引时,Sql Server 可以使用原始索引(有些碎片索引),然后在构建新临时索引后,它可以开始使用那个索引,然后我们删除碎片索引并重命名和下次我们必须运行预定的作业时,我们将返回原始状态。
我的问题是,这种方法有意义吗?在我删除原始碎片索引时,sql server 是否能够使用我的新临时索引副本?任何提示或可能的其他策略表示赞赏。