新增功能(数据库引擎)

最新版本的 SQL Server 数据库引擎引入了新功能和增强功能,可提高设计、开发和维护数据存储系统的架构师、开发人员和管理员的强大功能和工作效率。 这些是数据库引擎已得到增强的领域。

数据库引擎功能增强

内存优化表

In-Memory OLTP 是集成到 SQL Server 引擎中的内存优化数据库引擎。 内存中 OLTP 已针对 OLTP 进行优化。 有关详细信息,请参阅 内存中 OLTP(内存中优化)

Azure 中的 SQL Server 数据文件

Azure 中的SQL Server数据文件为存储为 Azure Blob SQL Server 数据库文件启用本机支持。 借助此功能,可以在在本地运行的SQL Server或 Azure 中的虚拟机中创建数据库,并为Azure Blob 存储中的数据提供专用存储位置。

在 Azure 虚拟机中托管 SQL Server 数据库

使用“将SQL Server数据库部署到 Azure 虚拟机向导”从 Azure 虚拟机中的 SQL Server 实例托管数据库。

备份和还原增强功能

SQL Server 2014 包含SQL Server备份和还原的以下增强功能:

  • SQL Server 备份到 URL

    SQL Server 2012 SP1 CU2 中引入了SQL Server备份到 URL,仅受 Transact-SQL、PowerShell 和 SMO 支持。 在 SQL Server 2014 中,可以使用 SQL Server Management Studio 备份到 Azure Blob 存储服务或从 Azure Blob 存储服务还原。 “备份”任务和维护计划都可使用该新选项。 有关详细信息,请参阅在 SQL Server Management Studio 中使用备份任务使用维护计划向导SQL Server备份到 URL 和使用 SQL Server Management Studio 从 Azure 存储还原

  • SQL Server托管备份到 Azure

    SQL Server Microsoft Azure 托管备份基于SQL Server备份到 URL,是SQL Server提供的一项服务,用于管理和计划数据库和日志备份。 在此版本中,仅支持备份到 Azure 存储。 SQL Server Microsoft Azure 托管备份可以在数据库和实例级别配置,从而在数据库级别和实例级别实现精细控制。 可以在本地运行的SQL Server实例和在 Azure 虚拟机上运行的SQL Server实例上配置SQL Server Microsoft Azure 的托管备份。 建议用于在 Azure 虚拟机上运行SQL Server实例。 有关详细信息,请参阅 SQL Server 托管备份到 Azure

  • 备份加密

    您现在可以选择在备份过程中对备份文件进行加密。 目前支持的加密算法包括 AES 128、AES 192、AES 256 和 Triple DES。 要在备份过程中执行加密,您必须使用证书或非对称密钥。 有关详细信息,请参阅备份加密

针对基数估计的新设计

基数估计逻辑(称为基数估算器)在 2014 SQL Server重新设计,以提高查询计划的质量,从而提高查询性能。 新的基数估计器纳入在新型 OLTP 和数据仓库工作负荷中表现优异的假设和算法。 它基于针对新型工作负荷的深入基数估计研究,以及我们在过去 15 年在改进 SQL Server 基数估计器方面的学习。 客户反馈表明,尽管大多数查询将会从更改或保持不更改中受益,但与以前的基数估计器相比,少数查询可能会显得退步。 有关性能优化和测试建议,请参阅基数估计 (SQL Server)

延迟持续性

SQL Server 2014 引入了通过将部分或所有事务指定为延迟持久事务来减少延迟的功能。 延迟持久事务在事务日志记录写入磁盘之前将控制权归还给客户端。 持续性可在数据库级别、提交级别或原子块级别进行控制。

有关详细信息,请参阅主题 控制事务持续性

AlwaysOn 增强功能

SQL Server 2014 包含针对 AlwaysOn 故障转移群集实例和 AlwaysOn 可用性组的以下增强功能:

分区切换和索引生成

现在可以重新生成已分区表的单独分区。 有关详细信息,请参阅 ALTER INDEX (Transact-SQL)

管理联机操作的锁优先级

ONLINE = ON 选项现在包含 WAIT_AT_LOW_PRIORITY 选项,该选项允许您指定重新生成过程对于所需锁应等待多长时间。 WAIT_AT_LOW_PRIORITY 选项还允许您配置与该重新生成语句相关的阻止过程的终止。 有关详细信息,请参阅 ALTER TABLE (Transact-SQL)ALTER INDEX (Transact-SQL)。 有关新类型的锁定状态的故障排除信息,请参阅 sys.dm_tran_locks (Transact-SQL) sys.dm_os_wait_stats (Transact-SQL)

列存储索引

这些新功能可供列存储索引使用:

  • 聚集列存储索引

    使用聚集列存储索引可提高主要执行大容量加载和只读查询的数据仓库工作负荷的数据压缩和查询性能。 由于聚集列存储索引是可更新的,因此工作负荷可执行许多插入、更新和删除操作。 有关详细信息,请参阅 描述的列存储索引 和使用 聚集列存储索引

  • SHOWPLAN

    SHOWPLAN 显示有关列存储索引的信息。 EstimatedExecutionModeActualExecutionMode 属性有两个可能的值:BatchRowStorage 属性具有两个可能值:RowStoreColumnStore

  • 存档的数据压缩

    ALTER INDEX ...REBUILD 有一个新的 COLUMNSTORE_ARCHIVE 数据压缩选项,用于进一步压缩列存储索引的指定分区。 这可用于存档,或者用于要求更小数据存储大小并且可以付出更多时间来进行存储和检索的其他情形。 有关详细信息,请参阅 ALTER INDEX (Transact-SQL)

缓冲池扩展

缓冲池扩展提供固态硬盘 (SSD) 的无缝集成,作为非易失性随机访问内存 (NvRAM) 数据库引擎缓冲池的扩展,可显著提高 I/O 吞吐量。

增量统计信息

CREATE STATISTICS 和相关统计信息语句现在允许通过使用 INCREMENTAL 选项创建按分区的统计信息。 相关语句允许或报告增量统计信息。 受影响的语法包括 UPDATE STATISTICS、sp_createstats、CREATE INDEX、ALTER INDEX、ALTER DATABASE SET 选项、DATABASEPROPERTYEX、sys.databases 和 sys.stats。有关详细信息,请参阅 CREATE STATISTICS (Transact-SQL)

物理 IO 控制的资源调控器增强功能

通过资源调控器,您可以指定针对传入应用程序请求可在资源池内使用的 CPU、物理 IO 和内存的使用量的限制。 在 SQL Server 2014 中,可以使用新的MIN_IOPS_PER_VOLUME和MAX_IOPS_PER_VOLUME设置来控制为给定资源池的用户线程颁发的物理 IO。 有关详细信息,请参阅 Resource Governor Resource PoolCREATE RESOURCE POOL (Transact-SQL)

ALTER RESOURCE GOVENOR 的 MAX_OUTSTANDING_IO_PER_VOLUME 设置可设置每个磁盘卷的最大待定 I/O 操作数 (IOPS)。 可以使用此设置根据某一磁盘卷的 IO 特性调整 IO 资源控制,并且可用于在 SQL Server 实例边界限制发出的 IO 数目。 有关详细信息,请参阅 ALTER RESOURCE GOVERNOR (Transact-SQL)

Online Index Operation 事件类

联机索引操作事件类的进度报告现在有两个新的数据列: PartitionIdPartitionNumber。 有关详细信息,请参阅 进度报告:联机索引操作事件类

数据库兼容性级别

90 兼容级别在 SQL Server 2014 中无效。 有关详细信息,请参阅 ALTER DATABASE Compatibility Level (Transact-SQL)

Transact-SQL 增强功能

CLUSTERED 和 NONCLUSTERED 的内联规范

对于基于磁盘的表,现在允许 CLUSTEREDNONCLUSTERED 索引的内联规范。 创建具有内联索引的表等效于发布一个 create table 命令,后随 CREATE INDEX 语句。 内联索引不支持包含列和筛选条件。

SELECT ... INTO

SELECT ... INTO 语句得到了改进,现在可以并行操作。 数据库的兼容性级别必须至少为 110。

In-Memory OLTP 的 Transact-SQL 增强功能

有关支持 In-Memory OLTP 的 Transact-SQL 更改的信息,请参阅 Transact-SQL 对 In-Memory OLTP 的支持

系统视图增强功能

sys.xml_indexes

sys.xml_indexes (Transact-SQL) 有 3 个新列: xml_index_typexml_index_type_descriptionpath_id

sys.dm_exec_query_profiles

sys.dm_exec_query_profiles (Transact-SQL) 在执行查询时监视实时查询进度。

sys.column_store_row_groups

sys.column_store_row_groups (Transact-SQL) 按段提供聚集列存储索引信息,以帮助管理员做出系统管理决策。

sys.databases

sys.databases (Transact-SQL) 有 3 个新列: is_auto_create_stats_incremental_onis_query_store_onresource_pool_id

针对内存中 OLTP 的系统视图增强功能

有关支持 In-Memory OLTP 的系统视图增强功能的信息,请参阅 In-Memory OLTP 的系统视图、存储过程、DMV 和等待类型

安全性改进

CONNECT ANY DATABASE 权限

新的服务器级权限。 将 CONNECT ANY DATABASE 授予某个登录名,该登录名必须连接到当前存在的所有数据库和将来可能创建的任何新数据库。 不要在任何数据库中授予超过连接的任何权限。 与 SELECT ALL USER SECURABLESVIEW 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 上部署数据库。

另请参阅

SQL Server 2014 各个版本支持的功能