sys.dm_db_objects_impacted_on_version_change (SQL Database)

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

适用范围:Windows Azure SQL Database(初始版本到当前版本)。

列名称

数据类型

说明

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

对于约束为 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

对象

在重新计算基础表中的几何图形和地理数据后,必须重新验证由 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