将 SQL Server 2012 备份还原到 SQL Server 2014 实例并更新兼容性级别时,理想(或必要)的调用顺序是什么?
-- Update Statistics for all tables
EXEC sp_MSforEachtable 'Update Statistics ? with FULLSCAN';
-- Update page and row counts in catalogviews
DBCC UPDATEUSAGE('MY_DATABASE') ;
-- Change DB Compatibility level
EXEC sp_dbcmptlevel 'MY_DATABASE', '120';
Run Code Online (Sandbox Code Playgroud)
我不确定数据库兼容性级别是否会影响统计数据或简化服务器上的引擎。如果数据库兼容性级别影响统计信息,则应在更新统计信息之前完成。也不清楚是否仍然推荐 UPDATEUSAGE 以及是否也应该在更新统计信息之前。
我有一个带有集群 PK 的表。没有外键引用它。当我放下它时,我希望它或多或少是瞬间的,但它却非常缓慢。
我的假设是,我们只是删除了一些元数据,而没有对未来更新和插入的约束或集群。
内部实际发生了什么使这变得昂贵?