本文主要针对SQL Server 2008 数据库引擎所做的一些更改进行了详尽的介绍,更多内容请参考下文:(这些更改可导致基于早期版本的SQL Server的应用程序无法继续使用)。
公共语言运行时 (CLR)
功能:CLR 程序集
说明:将数据库升级到 SQL Server 2008 时,将自动安装支持 hierarchyid 数据类型的 Microsoft.SqlServer.Types 程序集。升级顾问规则将检测名称冲突的任何用户类型或程序集。升级顾问将建议重命名所有冲突的程序集,并重命名所有冲突的类型或在代码中用由两部分组成的名称来引用该预先存在的用户类型。
如果数据库升级检测到用户程序集具有冲突名称,它将自动重命名该程序集,并将数据库置于可疑模式下。
如果在升级过程中存在具有冲突名称的用户类型,则不会采取特殊步骤。升级后,旧的用户类型和新的系统类型将同时存在。用户类型将只能按照由两部分组成的名称使用。
DBCC
功能:使用 DBCC CHECKDB 或 DBCC CHECKTABLE 对索引进行逻辑一致性检查
说明:对索引进行的逻辑一致性检查因数据库兼容级别而异,如下所示:
如果兼容级别为 100 (SQL Server 2008) 或更高:
除非指定 NOINDEX,否则 DBCC CHECKDB 或 DBCC CHECKTABLE 将对单个表及其所有非聚集索引同时执行物理和逻辑一致性检查。但是,在默认情况下,仅对 XML 索引、空间索引和索引视图执行物理一致性检查。
如果指定了 WITH EXTENDED_LOGICAL_CHECKS,则将对索引视图、XML 索引和空间索引(如果存在)执行逻辑检查。默认情况下,先执行物理一致性检查,然后执行逻辑一致性检查。如果还指定了 NOINDEX,则仅执行逻辑检查。
这些逻辑一致性检查可对索引对象的内部索引表及其引用的用户表进行交叉检查。为了查找外部行,将构造内部查询来对内部表和用户表的完整交集执行查询。运行此查询可能会对性能产生很大影响,并且无法跟踪其进度。因此,建议您仅在以下情况下才指定 WITH EXTENDED_LOGICAL_CHECKS:怀疑存在与物理损坏无关的索引问题,或者已关闭页级校验和并且怀疑存在列级硬件损坏。
如果兼容级别为 90 或更低,则除非指定 NOINDEX,否则 DBCC CHECKDB 或 DBCC CHECKTABLE 将对单个表或索引视图及其所有非聚集索引和 XML 索引同时执行物理和逻辑一致性检查。不支持空间索引。
动态管理视图:
视图:sys.dm_os_sys_info
说明:删除了 cpu_ticks_in_ms 和 sqlserver_start_time_cpu_ticks列。