如何从 SQL Server 2008 中的备份中排除索引

Jar*_*xon 20 indexes backup sql-server sql-server-2008

我们每晚的完整(和定期差异)备份变得非常大,主要是由于我们表上的索引数量;大约一半的备份大小由索引组成。

我们正在使用简单恢复模型进行备份。

有没有办法通过使用FileGroups或其他一些文件分区方法从备份中排除索引?

如果这也可以扩展到全文目录,那就太好了。

Bre*_*zar 16

如果您切换到完全恢复模式,您可以使用文件组来执行此操作,但这真的非常笨拙。您将数据保留在主文件组中,并将索引放在单独的(非默认的,这是关键)文件组中。

然后交错备份,以便每天晚上对主服务器进行文件组备份,每 X 分钟进行一次事务日志备份。

当灾难发生时,您可以自行恢复主文件组。数据突然在线,但索引不在线。但是,要恢复正常,您需要将该数据导出到一个新的干净数据库中并从那里添加索引。您不能在不恢复所有文件组的情况下使数据库完全联机,并且您不能说“无论如何我不再需要那个其他文件组”。

有关其工作原理的更多信息,请查看我关于文件组恢复的视频教程。


Ada*_*vis 6

老实说,你真的不想这样做,即使你克服了其他人在这里提出的其他问题。

当您在紧急情况下恢复备份时,您不想等待索引重建,并且在这样做之前您将遭受可恶的性能。

我想不出您想要在没有索引的情况下恢复备份的情况,因此在所有情况下,您真的希望同时备份它们。

您可能需要寻找其他解决方案来解决此问题...

-亚当

  • “你不想等待索引重建”非常推定,IMO (2认同)
  • 是的,但请记住,我在这里进行了概括。我一直不相信有更多的情况下抛弃索引和重建比备份索引和避免重建更好的情况更多。换句话说,一种情况_通常_更好,除非特定情况需要,否则应该错误地支持它们。话虽如此,每种情况都是不同的。我很想知道重建 SO 索引需要多长时间,以及站点的性能在完成之前会受到多大影响(假设它在重建期间已启动)。 (2认同)