适用于:Azure SQL 数据库
Azure SQL 托管实例
Microsoft Fabric 预览版中的 SQL 数据库
sys.dm_db_objects_impacted_on_version_change DMV 提供一个预警系统,用于确定受 Azure SQL 数据库中主要版本升级影响的对象。 可以在升级之前或之后使用视图获取受影响对象的完整枚举。 您需要在每个数据库中查询此视图,以获取有关整个服务器的完整帐户信息。
| 列名称 | 数据类型 | 说明 |
|---|---|---|
class |
intNOT NULL |
将受到影响的对象类: 1 = 约束 7 = 索引和堆 |
class_desc |
nvarchar(60)NOT NULL |
类的说明:OBJECT_OR_COLUMNINDEX |
major_id |
intNOT NULL |
约束的对象 ID,或包含索引或堆的表的对象 ID。 |
minor_id |
intNULL |
NULL for constraintsIndex_id 用于索引和堆 |
dependency |
nvarchar(60)NOT NULL |
导致约束或索引受到影响的依赖项的说明。 同一值也用于在升级期间生成的警告。 示例: 空格 (对于内部函数) geometry (对于系统 UDT) geography::P arse (对于系统 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 | 重新计算基础表中的几何图形和地理数据后,必须重新验证所 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 |