sys.dm_db_objects_impacted_on_version_change(Azure SQL 数据库)

适用于:Azure SQL 数据库Azure SQL 托管实例

此数据库范围的系统视图旨在提供一个早期警告系统,以确定将受 Azure SQL 数据库中主要版本升级影响的对象。 可以在升级之前或之后使用此视图以获得受影响对象的完整枚举。 您需要在每个数据库中查询此视图,以获取有关整个服务器的完整帐户信息。

列名称 数据类型 说明
class Int NOT NULL 将受影响的对象的类:

1 = 约束

7 = 索引和堆
class_desc nvarchar (60) NOT NULL 类的说明:

OBJECT_OR_COLUMN

INDEX
major_id Int NOT NULL 约束的对象 ID,或包含索引或堆的表的对象 ID。
minor_id Int 对于约束为 NULL

索引和堆的 Index_id
dependency nvarchar (60) NOT NULL 导致约束或索引受影响的依赖项的说明。 同一值也用于在升级期间生成的警告。

示例:

space(用于内部)

geometry(用于系统 UDT)

geography::Parse(用于系统 UDT 方法)

权限

需要拥有 VIEW DATABASE STATE 权限。

示例

下面的示例显示针对 sys.dm_db_objects_impacted_on_version_change 的查询,以便查找受升级到下一主要服务器版本影响的对象。

SELECT * FROM sys.dm_db_objects_disabled_on_version_change;  
GO  
class  class_desc        major_id    minor_id    dependency                       
------ ----------------- ----------- ----------- ----------   
1      OBJECT_OR_COLUMN  181575685   NULL        geometry                        
7      INDEX             37575172    1           geometry                        
7      INDEX             2121058592  1           geometry                        
1      OBJECT_OR_COLUMN  101575400   NULL        geometry     

备注

如何升级受影响的对象

以下有序步骤介绍将在六月份服务版本升级后要采取的纠正措施。

订单 受影响的对象 纠正措施
1 索引 重新生成 由 sys.dm_db_objects_impacted_on_version_change 标识的任何索引例如: ALTER INDEX ALL ON <table> REBUILD

ALTER TABLE <table> REBUILD
2 Object 在重新计算基础表中的 geometry 和 geography 数据后,必须重新验证 sys.dm_db_objects_impacted_on_version_change 标识的所有约束。 对于约束,使用 ALTER TABLE 进行重新验证。
例如:
ALTER TABLE <tab> WITH CHECK CHECK CONSTRAINT <constraint name>

ALTER TABLE <tab> WITH CHECK CONSTRAINT ALL