SQL Server 2014的数据库引擎新增功能(参考sqlserver官方文档)
SQL Server 2014数据库引擎引入了一些新功能和增强功能,这些功能可以提高设计、开发和维护数据存储系统的架构师、开发人员和管理员的能力和工作效率。 以下是数据库引擎已增强的方面。
数据库引擎功能增强
内存优化表
内存中 OLTP 是一种内存优化的数据库引擎,它集成到 SQL Server 引擎中。 内存中 OLTP 已针对 OLTP 进行优化。
SQL Server Azure 中的数据文件
Azure 中的 SQL Server 数据文件可为作为SQL Server Azure blob 存储的数据库文件提供本机支持。 利用此功能, 可以在本地或 azure SQL Server中的虚拟机中创建运行的数据库, 并在 azure Blob 存储中为数据创建专用存储位置。
在 Azure 虚拟机中托管 SQL Server 数据库
使用 "将SQL Server 数据库部署到 azure 虚拟机向导" 可SQL Server在 azure 虚拟机中的实例中承载数据库。
备份和还原增强功能
SQL Server 2014 包含针对 SQL Server 备份和还原的以下增强功能:
SQL Server 备份到 URL
SQL Server 备份到 URL 功能是在 SQL Server 2012 SP1 CU2 中引入的,只有 Transact-SQL、PowerShell 和 SMO 支持这一功能。 在SQL Server 2014中, 你SQL Server Management Studio可以使用备份到 Azure Blob 存储服务或从中进行还原。 “备份”任务和维护计划都可使用该新选项。
将托管备份 SQL Server 到 Azure
SQL Server 是基于 Microsoft Azure 的 SQL Server 托管备份 备份到 URL 这一功能构建的服务,SQL Server 提供这种服务来管理和安排数据库和日志的备份。 在此版本中, 仅支持备份到 Azure 存储。 Microsoft Azure 的 SQL Server 托管备份可在数据库和实例级别同时进行配置,从而既能实现在数据库级别的精细控制,又能实现实例级别的自动化。 Microsoft Azure 的 SQL Server 托管备份可在本地运行SQL Server的实例和SQL Server Azure 虚拟机上运行的实例上进行配置。 建议用于在 Azure SQL Server虚拟机上运行的实例。
备份的加密
您现在可以选择在备份过程中对备份文件进行加密。 目前支持的加密算法包括 AES 128、AES 192、AES 256 和 Triple DES。 要在备份过程中执行加密,您必须使用证书或非对称密钥。
基数估算的新设计
称作基数估计器的基数估计逻辑已在 SQL Server 2014 中重新设计,以便改进查询计划的质量,并因此改进查询性能。 新的基数估计器纳入在新型 OLTP 和数据仓库工作负荷中表现优异的假设和算法。 它基于针对新型工作负荷的深入基数估计研究,以及我们在过去 15 年在改进 SQL Server 基数估计器方面的学习。 客户反馈表明,尽管大多数查询将会从更改或保持不更改中受益,但与以前的基数估计器相比,少数查询可能会显得退步。
延迟持续性
SQL Server 2014 将部分或所有事务指定为延迟持久事务,从而能够缩短延迟。 延迟持久事务在事务日志记录写入磁盘之前将控制权归还给客户端。 持续性可在数据库级别、提交级别或原子块级别进行控制。
AlwaysOn 增强功能
SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能:
“添加 Azure 副本向导”简化了用于 AlwaysOn 可用性组的混合解决方案创建。
辅助副本的最大数目从 4 增加到 8。
断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷。
故障转移群集实例 (FCI) 现在可使用群集共享卷 (CSV) 作为群集共享磁盘。
新系统函数fn_hadr_is_primary_replica和新的 DMV, sys.databases _io_cluster_valid_path_names可用。
以下 Dmv 已增强, 现在返回 FCI 信息: sys.databases _hadr_cluster、 sys.databases _hadr_cluster_members和sys.databases _hadr_cluster_networks。
分区切换和索引
现在可以重新生成已分区表的单独分区。
管理联机操作的锁优先级
ONLINE = ON
选项现在包含 WAIT_AT_LOW_PRIORITY
选项,该选项允许您指定重新生成过程对于所需锁应等待多长时间。 WAIT_AT_LOW_PRIORITY
选项还允许您配置与该重新生成语句相关的阻止过程的终止。
列存储索引
这些新功能可供列存储索引使用:
聚集列存储索引
使用聚集列存储索引可提高主要执行大容量加载和只读查询的数据仓库工作负荷的数据压缩和查询性能。 由于聚集列存储索引是可更新的,因此工作负荷可执行许多插入、更新和删除操作。
SHOWPLAN
SHOWPLAN 显示有关列存储索引的信息。 EstimatedExecutionMode和ActualExecutionMode属性具有两个可能的值:批处理或行。 存储属性有两个可能的值:行存储和列存储。
存档数据压缩
ALTER INDEX ...重新生成具有新的 COLUMNSTORE_ARCHIVE 数据压缩选项, 可进一步压缩列存储索引的指定分区。 这可用于存档,或者用于要求更小数据存储大小并且可以付出更多时间来进行存储和检索的其他情形。
缓冲池扩展
缓冲池扩展提供固态硬盘 (SSD) 的无缝集成作为数据库引擎缓冲池的非易失性随机存取内存 (NvRAM) 扩展, 从而显著提高 i/o 吞吐量。
增量统计信息
CREATE STATISTICS 和相关统计信息语句现在允许通过使用 INCREMENTAL 选项创建按分区的统计信息。 相关语句允许或报告增量统计信息。 受影响的语法包括 UPDATE STATISTICS、sp_createstats、CREATE INDEX、ALTER INDEX、ALTER DATABASE SET 选项、DATABASEPROPERTYEX、sys.databases 和 sys.databases。
物理 IO 控制 Resource Governor 增强功能
通过资源调控器,您可以指定针对传入应用程序请求可在资源池内使用的 CPU、物理 IO 和内存的使用量的限制。 在 SQL Server 2014 中,您可以使用新的 MIN_IOPS_PER_VOLUME 和 MAX_IOPS_PER_VOLUME 设置控制某一给定资源池向用户线程发出的物理 IO 数。
ALTER RESOURCE GOVENOR 的 MAX_OUTSTANDING_IO_PER_VOLUME 设置可设置每个磁盘卷的最大待定 I/O 操作数 (IOPS)。 可以使用此设置根据某一磁盘卷的 IO 特性调整 IO 资源控制,并且可用于在 SQL Server 实例边界限制发出的 IO 数目。
Online Index Operation 事件类
联机索引操作事件类的进度报告现在具有两个新数据列:PartitionId和PartitionNumber。
数据库兼容性级别
90 兼容性级别在 SQL Server 2014 中无效。
Transact-SQL 增强功能
CLUSTERED 和 NONCLUSTERED 的内联规范
对于基于磁盘的表,现在允许 CLUSTERED
和 NONCLUSTERED
索引的内联规范。 创建具有内联索引的表等效于发布一个 create table 命令,后随 CREATE INDEX
语句。 内联索引不支持包含列和筛选条件。
选择 ...INTO
SELECT ... INTO
语句得到了改进,现在可以并行操作。 数据库的兼容性级别必须至少为 110。
针对内存中 OLTP 的 Transact-SQL 增强功能
系统视图增强功能
sys.xml_indexes
(sys.databases _indexes) 包含3个新列: xml_index_type、 xml_index_type_description和path_id。
sys.dm_exec_query_profiles
sys.databases _exec_query_profiles () 在执行查询时监视实时查询进度。
sys.column_store_row_groups
column_store_row_groups (transact-sql) 提供按段划分的聚集列存储索引信息, 以帮助管理员做出系统管理决策。
sys.databases
sys.databases () transact-sql具有3个新列: is_auto_create_stats_incremental_on、 is_query_store_on和resource_pool_id。
针对内存中 OLTP 的系统视图增强功能
安全性改进
CONNECT ANY DATABASE 权限
新的服务器级权限。 将 CONNECT ANY DATABASE 授予某个登录名,该登录名必须连接到当前存在的所有数据库和将来可能创建的任何新数据库。 不要在任何数据库中授予超过连接的任何权限。 结合SELECT all USER 安全对象或VIEW SERVER STATE
, 以允许审核进程查看实例SQL Server上的所有数据或所有数据库状态。
IMPERSONATE ANY LOGIN 权限
新的服务器级权限。 授予后,当连接到数据库时,允许中间层进程模拟连接到它的客户端帐户。 被拒绝时,高特权的登录名可以阻止模拟其他登录名。 例如,可通过模拟其他登录名来阻止具有 CONTROL SERVER 权限的登录名。
SELECT ALL USER SECURABLES 权限
新的服务器级权限。 授予后,作者等登录名可以查看用户可连接到的所有数据库中的数据。
部署增强功能
Azure VM
?将SQL Server 数据库部署到 Microsoft Azure 虚拟机, 可以将SQL Server数据库部署到 Azure VM。
ReFS
现在支持在 ReFS 上部署数据库。