SQL Server - 备份还原 - 丢失索引?

Rai*_*ker 3 index sql-server backup restore

它看起来像在客户端站点,在数据库备份和还原(从 SQL Server 2008 到 SQL Server 2012)之后,看起来它们从表中丢失了索引,我们不得不手动创建它们。我们已经看到了两个这样的例子。

我认为备份和恢复可以保持所有对象完好无损。这可能吗?是否有一个设置可以让用户在还原过程中忽略对象?

Ton*_*kle 6

没有允许从备份或恢复中省略索引的设置。这样的功能会很好,因为它会导致备份更小,但 Microsoft 表示添加这样的功能有很多障碍(请参阅此处)。

备份完成时索引很可能不存在。可能有一个 ETL 作业在数据加载之前删除索引,然后在加载完成后再次创建索引。查找导致备份窗口的服务器上发生的其他类型的活动。例如,如果是这样的 ETL 作业执行此操作,则某些加载可能需要很长时间,以至于在备份结束时它们还没有完成。所以你会遇到时间问题,有时备份有索引,有时没有。

这也是可能的,但我希望您知道如果是这种情况,备份实际上是在另一台具有数据库副本的服务器上创建的,并且备份作业首先删除索引以使备份更小。正如您所报告的那样,这不会是一击即中的情况。

您也可以在此处阅读使用文件组完成此操作的另一种方法,但同样,这不会像您报告的那样被击中或错过。