SQL Server 2014 中的新增功能
本主题汇总了 SQL Server 2014 中新功能的详细链接,并汇总了 SQL Server 2014 的服务包
试用:拥有 Azure 帐户? 转到 https://ms.portal.azure.com/?flight=1#create/Microsoft.SQLServer2014sp1EnterpriseWindowsServer2012R2 启动已安装 SQL Server 2014 Service Pack 1(SP1)的虚拟机。
提示
单击此处 获取 SQL Server 2014 的主文档页。
新增功能文章
SQL Server 2014 尚未向以下功能引入重要新功能:
SQL Server 2014 Service Pack 1 (SP1)
SQL Server 2014 (SP1)没有引入重要的新功能。
SQL Server 2014 Service Pack 2 (SP2)
- SQL Server 2014 Service Pack 2 版本信息。
- 下载 Service Pack 2 for Microsoft SQL Server 2014。
- 下载 SQL Server 2014 SP2 功能包。
SQL Server 2014 (SP2) 包括以下改进:
性能和可伸缩性改进
- 自动软 NUMA 分区: 使用 SQL Server 2014 SP2,在实例启动期间启用跟踪标志 8079 时启用自动软 NUMA。 启动期间启用跟踪标志 8079 时,SQL Server 2014 SP2 将询问硬件布局,并在报告每个 NUMA 节点 8 个或更多 CPU 的系统上自动配置软 NUMA。 自动软 NUMA 行为感知超线程(HT/逻辑处理器)。 通过提高侦听器数、缩放和网络与加密功能,其他节点的分区和创建会缩放后台处理。 建议先使用自动软 NUMA 测试性能工作负荷,然后再在生产环境中对其进行优化。 有关详细信息,请参阅博客。
- 动态内存对象缩放: SQL Server 2014 SP2 根据节点数和核心数动态分区内存对象,以在现代硬件上进行缩放。 动态提升的目标是在线程安全内存对象(CMEMTHREAD)成为瓶颈时自动分区。 非分区内存对象可由节点动态分区(分区数等于 NUMA 节点数)。 按节点分区的内存对象可以通过 CPU 进一步分区(分区数等于 CPU 数)进行分区。 有关详细信息,请参阅博客。
- DBCC CHECK* 命令的 MAXDOP 提示:此改进解决了连接反馈(468694)。 现在,可以使用除sp_configure值以外的 MAXDOP 设置运行 DBCC CHECKDB。 如果 MAXDOP 超出使用资源调控器配置的值,数据库引擎会使用资源调控器 MAXDOP 值(如 ALTER WORKLOAD GROUP (Transact-SQL) 中所述)。 使用 MAXDOP 查询提示时,所有和“最大并行度”配置选项一起使用的语义规则均适用。 有关详细信息,请参阅 DBCC CHECKDB (Transact-SQL)。
- 为缓冲池启用 >8 TB: SQL Server 2014 SP2 为缓冲池使用启用 128 TB 的虚拟地址空间。 这种改进使 SQL Server 缓冲池能够在新式硬件上扩展到超过 8 TB。
- SOS_RWLock旋转锁改进: SOS_RWLock是在 SQL Server 代码库的各个位置使用的同步基元。 顾名思义,代码可以具有多个共享(读取者)或单个(编写器)所有权。 这种改进消除了对SOS_RWLock旋转锁的需求,而是使用类似于内存中 OLTP 的无锁技术。 通过此更改,许多线程可以并行读取受SOS_RWLock保护的数据结构,而不会相互阻止。 这种并行化提高了可伸缩性。 在此更改之前,旋转锁实现一次只允许一个线程获取SOS_RWLock,甚至读取数据结构。 有关详细信息,请参阅博客。
- 空间本机实现: 通过本机实现在 SQL Server 2014 SP2 中引入了空间查询性能的显著改进。 有关详细信息,请参阅知识库文章KB3107399。
可支持性和诊断改进
- 数据库克隆: 克隆数据库是一个新的 DBCC 命令,它通过克隆架构和元数据来增强对现有生产数据库的故障排除,而无需数据。 克隆是使用命令
DBCC clonedatabase('source_database_name', 'clone_database_name')
创建的。 注意: 克隆的数据库不应在生产环境中使用。 使用以下命令确定是否已从克隆的数据库生成数据库:select DATABASEPROPERTYEX('clonedb', 'isClone')
返回值 1 表示数据库是从 clonedatabase 创建的,而 0 表示数据库不是克隆。 - Tempdb 可支持性: 在启动时指示 tempdb 文件数以及 tempdb 数据文件的大小和自动增长的新错误消息。
- 数据库即时文件初始化日志记录: 一条新的错误消息,指示在服务器启动时,数据库即时文件初始化的状态(已启用/禁用)。
- callstack 中的模块名称: 扩展事件 (XEvent) 调用堆栈现在包括模块名称加上偏移量,而不是绝对地址。
- 用于增量统计信息的新 DMF: 此改进解决了 连接反馈(797156), 以便跟踪分区级别的增量统计信息。 引入了新的 DMF sys.dm_db_incremental_stats_properties,用于公开增量统计信息的每个分区的信息。
- 更新了索引使用情况 DMV 行为:此改进解决了重新生成索引的客户的连接反馈(739566),不会清除该索引sys.dm_db_index_usage_stats中的任何现有行项。 此行为现在与 SQL 2008 和 SQL Server 2016 中的行为相同。 有关详细信息,请参阅博客。
- 改进了诊断 XE 和 DMV 之间的相关性:此改进解决了连接反馈(1934583)。
Query_hash
用于query_plan_hash
唯一标识查询。 DMV 将二者定义为 varbinary(8),而 XEvent 将其定义为 UINT64。 由于 SQL Server 没有“unsigned bigint”,因此转换并不总是起作用。 此改进引入了新的 XEvent 操作和筛选列。 列等效query_hash
于列query_plan_hash
,但定义为 INT64 除外。 INT64 定义有助于关联 XE 和 DMV 之间的查询。 - 对 BULK INSERT 和 BCP 中的 UTF-8 的支持:此改进解决了连接反馈(370419)。 BULK INSERT 和 BCP 现在可以导出或导入在 UTF-8 字符集中编码的数据。
- 按运算符对查询执行的轻型分析: Showplan 提供有关计划中每个运算符的成本的信息。 但是,对于 CPU、I/O 读取和每线程运行时间等内容,实际的运行时统计信息受到限制。 SQL Server 2014 SP2 在 Showplan 中引入了每个运算符的这些额外的运行时统计信息。 R2 还引入了一个名为
query_thread_profile
帮助排查查询性能的 XEvent。 有关详细信息,请参阅博客。 - 更改跟踪清理:引入了新的存储过程
sp_flush_CT_internal_table_on_demand
来按需清理更改跟踪内部表。 - AlwaysON 租约超时日志记录 为租约超时消息添加了新的日志记录功能,以便记录当前时间和预期的续订时间。 SQL 错误日志中还引入了有关超时的新消息。 有关详细信息,请参阅博客。
- 用于在 SQL Server 中检索输入缓冲区的新 DMF: 现已提供用于检索会话/请求的输入缓冲区的新 DMF(sys.dm_exec_input_buffer)。 此 DMF 在功能上等效于 DBCC INPUTBUFFER。 有关详细信息,请参阅博客。
- 针对低估和过度估计的内存授予的缓解措施: 通过MIN_GRANT_PERCENT和MAX_GRANT_PERCENT为资源调控器添加了新的查询提示。 此新查询允许你在运行查询时利用这些提示,方法是限制其内存授予以防止内存争用。 有关详细信息,请参阅知识库文章KB310740。
- 更好的内存授予和使用情况诊断: 名为
query_memory_grant_usage
的新扩展事件已添加到 SQL Server 中的跟踪功能列表中。 此事件跟踪请求和授予的内存授予。 此事件提供更好的跟踪和分析功能,用于排查与内存授予相关的任何查询执行问题。 有关详细信息,请参阅知识库文章KB3107173。 - tempdb 溢出的查询执行诊断:- 哈希警告和排序警告现在具有其他列来跟踪物理 I/O 统计信息、已用内存和受影响的行。 我们还引入了新的hash_spill_details扩展事件。 现在可以跟踪哈希和排序警告(KB3107172)的更精细信息。 此改进现在还通过 XML 查询计划公开,其形式为 SpillToTempDbType 复杂类型(KB3107400)。 设置统计信息
ON
现在显示排序工作表统计信息。 - 改进了涉及剩余谓词下推的查询执行计划的诊断: 现在查询执行计划中报告了实际读取的行,以帮助改进查询性能故障排除。 这些行否定了单独捕获 SET STATISTICS IO 的必要性。 通过这些行,还可以在查询计划中查看与残差谓词下推相关的信息。 有关详细信息,请参阅知识库文章KB3107397。