SQL Server 2016 发行说明
适用于: SQL Server 2016 (13.x) 及更高版本
本文介绍 SQL Server 2016 (13.x) 版本的限制和问题,包括服务包。 有关新增功能的信息,请参阅 SQL Server 2016中的新增功能。
从评估中心下载 SQL Server
启动已安装 SQL Server 的虚拟机
下载 SQL Server Management Studio (SSMS)
SQL Server 2016 Service Pack 3 (SP3)
SQL Server 2016 (13.x) SP3 包括 SQL Server 2016 (13.x) SP2 之后、CU17 之前(含 CU17)发布的所有累积更新。
下载 SQL Server 2016 Service Pack 3 (SP3)
有关更新的完整列表,请参阅 KB5003279 - SQL Server 2016 Service Pack 3 版本信息。
SQL Server 2016 (13.x) SP3 安装可能需要在安装后重启。 最佳做法是,应在安装 SQL Server 2016 (13.x) SP3 后执行重启。
SQL Server 2016 (13.x) SP3 中包括与性能和缩放相关的改进。
功能 | 说明 | 详细信息 |
---|---|---|
没有负载均衡器的可用性组侦听程序 | 使你能够在不使用负载均衡器的情况下创建名为“分布式网络名称(DNN)侦听器”的新可用性组(AG)侦听器类型。 注意:删除负载均衡器会极大地降低配置复杂性,还会极大地减少 AG 故障转移延迟(某些工作负载的故障转移延迟会降低 6 到 7 倍)。 |
KB4578579 |
在 SQL Server 2016 和 2019 FCI 中启用 DNN 功能 | 故障转移群集实例(FCI)侦听器经过增强,可与 Windows Server 故障转移群集(WSFC)分布式网络名称(DNN)接入点配合使用。 | KB4537868 |
SQL Server 2016 (13.x) SP3 中包括与可支持性和诊断相关的改进。
功能 | 说明 | 详细信息 |
---|---|---|
使用内存中数据库提高 CDC 可支持性和可用性 | 无法在启用了 In-Memory 联机事务处理(OLTP)访问的数据库上启用变更数据捕获(CDC)功能。 此改进取消阻止在具有内存 OLTP 和内存对象的数据库上启用 CDC。 此外,cdc_session XEvent 已更新以打印扫描阶段的信息。 |
KB4500511 |
默认 XEvent 跟踪 system_health 中的大小和保留策略有所增加 |
system_health XEvent 会话的当前定义的最大文件大小为 5 MB(MB),最大文件数为 4,最多为 20 MB system_health XEvent 数据。 在活动量很大的系统上,当遇到影响系统的问题时,可能会很快超过此限制,从而错过重要信息。 为了在此次更新中在系统上保留更多故障排除数据,将默认文件大小从 5 MB 更改为 100 MB,默认文件数量从 4 个更改为 10 个,这样最多可存储 1 GB 的 system_health XEvent 数据。 如果已从默认值修改 system_health 会话的定义,则此改进不会覆盖现有设置。 |
KB4541132 |
新 XEvent temp_table_cache_trace 和 temp_table_destroy_list_trace |
创建了两个新的 XEvent temp_table_cache_trace 和 temp_table_destroy_list_trace ,以跟踪临时表缓存的指标和操作。注意: 这些 XEvent 跟踪一个名为临时对象缓存的特定元数据缓存对象,其中包含有关哪些临时表、对象、参数被缓存、逐出和重复使用的信息。 当注意到 tempdb 缓存争用时,可以运行 XEvent 来跟踪缓存的行为。 大多数客户不使用此功能,这有助于 CSS 工程师调试其环境中的问题。 |
KB5003937 |
用于帮助排查长时间运行的缓冲池扫描问题的新日志记录和 XEvent | SQL Server 中的某些操作会触发对缓冲池(将数据库页存储在内存中的缓存)的扫描。 在具有大量内存(1 TB 或更高)的系统上,扫描缓冲池需要很长时间,这会减慢触发扫描的操作。 这些新 XEvent 有助于对长时间运行的缓冲池扫描进行故障排除。 | 在大内存计算机上扫描 SQL Server 缓冲池的操作很慢 |
SQL 编写器的新日志记录格式 | 以易于读取/分析的格式提供额外的故障排除数据,并增强了对日志详细程度和启用/禁用的控制。 | SQL Server VSS 编写器日志记录 |
添加 sql_statement_post_compile XEvent |
每次完成查询编译时,都会触发此扩展事件。 它提供一些信息,例如查询编译是初始编译还是重新编译、编译查询用了多长时间,以及使用了多少 CPU 容量。 | KB4480630 |
可以使用 extended_logical_checks 检测到损坏的统计信息 |
当统计信息损坏时,可能会引发一条泛型消息,但不包含关于统计信息损坏的具体信息。 此外,CHECKDB 可能不会报告损坏的统计信息。 此改进可以通过将 extended_logical_checks 用作 DBCC CHECKDB 的一部分来检测损坏的统计信息。 |
KB4530907 |
提高了 XEvent query_plan_profile 的准确性 |
XEvent query_plan_profile 报告的 CPU 时间和持续时间更准确。 |
轻型查询执行统计信息分析基础结构 v2 |
已知问题
本部分确定应用 SQL Server 2016 (13.x) SP3 后可能出现的问题。
使用特定算法、流式处理或分区的 R 服务
问题:以下限制适用于使用更改默认 R 或 Python 语言运行时版本配置的运行时升级或具有 SP3 集成式安装的 SQL Server 2016 (13.x)。 此问题适用于 Enterprise Edition。
并行度:场景的
RevoScaleR
和MicrosoftML
算法线程并行度被限制为最多 2 个线程。流式处理和分区:不会应用涉及传递给 T-SQL
sp_execute_external_script
的@r_rowsPerRead
参数的场景。流式处理和分区:
RevoScaleR
和MicrosoftML
数据源(即ODBC
、XDF
)在训练或评分场景中不支持按区块读取行。 这些场景始终将所有数据存入内存中进行计算,并且操作是内存受限的
解决方案:最好的解决方案是升级到 SQL Server 2019 (15.x)。 或者,你可以在完成以下任务之后,继续使用 SQL Server 2016 (13.x) SP3。
编辑注册表以创建一个密钥
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\150
并添加值SharedCode
和数据C:\Program Files\Microsoft SQL Server\150\Shared
或共享目录,如实例配置所示。创建文件夹
C:\Program Files\Microsoft SQL Server\150\Shared and copy instapi130.dll
并将 instapi130.dll 从文件夹C:\Program Files\Microsoft SQL Server\130\Shared
复制到新创建的文件夹中。将新文件夹
instapi130.dll
中的instapi150.dll
重命名为C:\Program Files\Microsoft SQL Server\150\Shared
。
重要
如果执行前面的步骤,则必须在升级到更高版本的 SQL Server 之前手动删除添加的密钥。
有关详细信息,请参阅 SQL Server 2016 中的更改 R 运行时版本。
更改跟踪清除错误
问题:运行更改跟踪清除存储过程 或
sp_flush_commit_table_on_demand
后,会出现以下错误消息:Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line <LineNumber> Error converting data type numeric to int.
有关详细信息,请参阅 KB5007039。
R 脚本失败
问题:安装 SP3 后,R 脚本执行失败。 R 脚本失败并出现以下错误:
Error: executable command line exceeds the 2047 characters limit.
解决方案:卸载 Microsoft MPI v7。 安装 Microsoft MPI v10。 有关详细信息,请参阅 Microsoft MPI。
删除 SP3 问题
问题:如果删除 SP3,则 Launchpad 使用的 中的 20 个用户帐户将被删除。 执行任何
sp_execute_external_script
操作都会导致以下错误:Unable to launch the runtime. ErrorCode 0x80070718: 1816(Not enough quota is available to process this command.).
解决方案:运行修复。 例如:
setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>
有关详细信息,请参阅修复失败的 SQL Server 安装。
使用 SysPrep
安装 SP3
问题:使用 SysPrep 安装具有扩展性功能的 SP3 时,SysPrep 不会正确安装扩展性框架的 SP3 版本。 相反,某些二进制文件缺失/不正确。 例如,缺少 R 运行时 3.5.2。
解决方案:完成映像后运行修复。 例如:
setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>
有关详细信息,请参阅修复失败的 SQL Server 安装。
SQL Server 2016 Service Pack 2 (SP2)
SQL Server 2016 (13.x) SP2 包括 SQL Server 2016 (13.x) SP1 之后、CU8 之前(含 CU8)发布的所有累积更新。
SQL Server 2016 (13.x) SP2 安装可能需要在安装后重启。 最佳做法是,在安装 SQL Server 2016 (13.x) SP2 后,应执行重启。
SQL Server 2016 (13.x) SP2 中包括与性能和缩放相关的改进。
功能 | 说明 | 详细信息 |
---|---|---|
分发数据库清除过程已改进 | 过大的分发数据库表可能会引起阻塞和死锁情况。 改进的清理过程旨在消除其中某些阻塞或死锁情况的发生。 | KB4040276 |
更改跟踪清除 | 改进了更改跟踪端表的更改跟踪清除性能和效率。 | KB4052129 |
利用 CPU 超时来取消 Resource Governor 请求 | 如果达到了请求的 CPU 阈值,则通过实际取消请求来提高查询请求的处理。 已在跟踪标志 2422 下启用此行为。 | KB4038419 |
用于在文件组中创建目标表的 SELECT INTO 语句 | 从 SQL Server 2016 (13.x) SP2 开始,SELECT INTO T-SQL 语法支持在 T-SQL 语法中使用 ON <文件组名> 关键字将表加载到用户默认文件组以外的文件组。 | |
改进了 tempdb 的间接检查点 |
改进了 tempdb 的间接检查点,以最大程度地减少 DPList 上的旋转锁争用。 此改进使 SQL Server 2016 (13.x) 上的 tempdb 工作负载能够在 tempdb 的间接检查点功能打开的情况下即开即用地进行扩展。 |
KB4040276 |
大内存计算机上的数据库备份性能已改进 | SQL Server 2016 (13.x) SP2 优化了在备份期间耗尽正在进行的 I/O 的方式,从而大幅提高中小型数据库的备份性能。 在 2 TB 计算机上创建系统数据库备份时,我们看到了超过 100 倍的改进。 当备份页面和备份 I/O 占用的时间超过缓冲池迭代时,数据库大小将增加,此时性能提高的幅度会降低。 此更改有助于改善在具有大内存的大型高端服务器上托管多个小型数据库的客户的备份性能。 | |
对已启用 TDE 的数据库的 VDI 备份压缩支持 | SQL Server 2016 (13.x) SP2 添加了 VDI 支持,以允许 VDI 备份解决方案对已启用 TDE 的数据库使用压缩。 通过此改进,引入了新的备份格式以支持启用了 TDE 的数据库的备份压缩。 SQL Server 数据库引擎以透明方式处理新旧备份格式以还原备份。 | |
复制代理配置文件参数的动态加载 | 这种新的增强功能允许动态加载复制代理参数,而无需重启代理。 此更改仅适用于最常用的代理配置文件参数。 | |
支持用于统计信息创建/更新的 MAXDOP 选项 | 此增强功能允许为 CREATE/UPDATE 统计信息语句指定 MAXDOP 选项,并确保在为所有类型的索引创建或重新生成统计信息时使用正确的 MAXDOP 设置(如果存在 MAXDOP 选项) | KB4041809 |
增量统计信息的自动更新统计信息功能已改进 | 在某些情况下,当表中多个分区发生多个数据更改时,递增统计信息的总修改计数器超过了自动更新阈值,但单个分区均未超过自动更新阈值,统计信息更新可能会延迟,直到表中发生更多修改。 已在跟踪标志 11024 下更正此行为。 |
SQL Server 2016 (13.x) SP2 中包括与可支持性和诊断相关的改进。
功能 | 说明 | 详细信息 |
---|---|---|
对可用性组中数据库的完整 DTC 支持 | SQL Server 2016 (13.x) 目前不支持可用性组中数据库的跨数据库事务。 使用 SQL Server 2016 (13.x) SP2,我们完全支持可用性组数据库的分布式事务。 | |
更新到 sys.databases.is_encrypted 列,以准确反映 tempdb 的加密状态 |
即使关闭所有用户数据库的加密并重启 SQL Server,sys.databases 中 is_encryptedcolumn 列的值仍为 tempdb 的 1 。 预期的行为是,此值应为0 ,因为在这种情况下,tempdb 不再加密。 从 SQL Server 2016 (13.x) SP2 开始,sys.databases.is_encrypted 现在准确反映 tempdb 的加密状态。 |
|
用于生成已验证的克隆和备份的新 DBCC CLONEDATABASE 选项 |
使用 SQL Server 2016 (13.x) SP2,DBCC CLONEDATABASE 允许两个新选项:生成已验证的克隆或生成备份克隆。 使用 WITH VERIFY_CLONEDB 选项创建克隆数据库时,会创建并验证一致的数据库克隆,Microsoft支持进行生产使用。 引入了一个新属性来验证克隆是否已被验证 SELECT DATABASEPROPERTYEX('clone_database_name', 'IsVerifiedClone') 。 使用 BACKUP_CLONEDB 选项创建克隆时,会在数据文件所在的文件夹中生成备份,以便客户轻松地将克隆移动到不同的服务器或将其发送到Microsoft客户支持(CSS)进行故障排除。 |
|
Service Broker (SSB) 对 DBCC CLONEDATABASE 的支持 |
增强 DBCC CLONEDATABASE 命令,允许编写 SSB 对象的脚本。 |
|
用于监视 tempdb 版本存储空间使用情况的新 DMV |
SQL Server 2016 (13.x) SP2 中引入了一种新的 sys.dm_tran_version_store_space_usage DMV,用于监控版本存储的使用情况 tempdb 。 DBA 现在可以根据每个数据库的版本存储使用情况要求主动计划 tempdb 大小,在生产服务器上运行时不会产生任何性能开销。 |
|
对复制代理的完全转储支持 | 今天,如果复制代理遇到未经处理的异常,默认情况下会创建一个异常症状的小型转储。 这使得排查未经处理的异常问题变得困难。 通过此更改,我们引入了一个新的注册表项,可用于为复制代理创建完整转储。 | |
针对可用性组的读取路由故障的扩展事件增强 | 以前,如果存在路由列表,但其中的服务器都无法进行连接,read_only_rout_fail XEvent 将会触发。 SQL Server 2016 (13.x) SP2 包含有助于故障排除的其他信息,并且还扩展了触发此 XEvent 的代码点。 |
|
用于监视事务日志的新 DMV | 添加了一个新的 DMV sys.dm_db_log_stats ,用于返回数据库中事务日志文件的摘要属性和信息。 |
|
用于监视 VLF 信息的新 DMV | SQL Server 2016 (13.x) SP2 中引入了新的 DMV sys.dm_db_log_info ,用于公开类似于 DBCC LOGINFO 的 VLF 信息,以监视、警报和避免客户遇到的潜在 T-Log 问题。 |
|
sys.dm_os_sys_info 中的处理器信息 |
向 sys.dm_os_sys_info DMV 中添加了新列,以展示处理器相关信息,例如 socket_count 和 cores_per_numa 。 |
|
sys.dm_db_file_space_usage 中的盘区修改信息 |
添加到 sys.dm_db_file_space_usage 的新列,用于跟踪自上次完整备份以来修改的盘区数。 |
|
sys.dm_exec_query_stats 中的区段信息 |
新列已添加到sys.dm_exec_query_stats,用于跟踪跳过和读取的列存储段数,例如 total_columnstore_segment_reads 和 total_columnstore_segment_skips 。 |
KB4051358 |
为分发数据库设置正确的兼容级别 | 安装 Service Pack 后,分发数据库的兼容级别会更改为 90。 这是因为 sp_vupgrade_replication 存储过程中某个代码路径的问题。 SP 现已改为设置分发数据库的正确兼容级别。 |
|
公开最后一个已知良好的 DBCC CHECKDB 信息 |
添加了新的数据库选项,从而能以编程方式返回最新一次成功运行 DBCC CHECKDB 的日期。 用户现在可以查询 DATABASEPROPERTYEX([database], 'lastgoodcheckdbtime') 以获取表示上次在指定数据库上运行成功 DBCC CHECKDB 的日期/时间的单个值。 |
|
显示计划 XML 增强 | 关于使用哪些统计信息编译查询计划的信息,其中包括统计信息名称、修改计数器、采样百分比以及统计信息的上次更新时间。 请注意,这仅添加至 CE 模型 120 及更高版本。 例如,CE 70 不支持它。 | |
如果查询优化器采用“行目标”逻辑,则向显示计划 XML 添加新属性 EstimateRowsWithoutRowgoal。 | ||
实际显示计划 XML 中的新运行时属性 UdfCpuTime and UdfElapsedTime,用于跟踪标量的用户定义函数 (UDF) 所花费的时间。 | ||
在实际 showplan XML 中将 CXPACKET 等待类型添加到可能的前十等待列表 - 并行查询执行经常涉及到 CXPACKET 等待,但这种类型的等待未在实际 showplan XML 中报告。 | ||
扩展了运行时溢写警告,以报告并行运算符溢写期间写入 tempdb 的页数。 |
||
对使用补充字符排序规则的数据库的复制支持 | 现已对使用补充字符排序规则的数据库提供复制支持。 | |
通过可用性组故障转移,对 Service Broker 进行正确的处理 | 在当前的实施中,当在这些可用性组的数据库上启用 Service Broker 时,在可用性组故障转移期间,所有源自主副本的 Service Broker 连接都将保持打开状态。 在 AG 故障转移期间,这一改进会关闭所有此类打开的连接。 | |
改进了并行等待的故障排除流程 | 新的 CXCONSUMER 等待,改进了并行等待故障排除。 | |
已针对相同信息改进 DMV 之间的一致性 | sys.dm_exec_session_wait_stats DMV 现在与 sys.dm_os_wait_stats DMV 一样,持续跟踪 CXPACKET 和 CXCONSUMER 等待。 |
|
查询内并行死锁的故障排除已改进 | 新的 exchange_spill 扩展事件,用于报告在并行运算符溢写期间写入 tempdb 的页数,此信息位于 XEvent 字段名称 worktable_physical_writes 中。 |
|
在 sys.dm_exec_query_stats 、sys.dm_exec_procedure_stats 和 sys.dm_exec_trigger_stats DMV(例如 total_spills )的 spills 列中,现在还包括由并行运算符导致的数据溢写。 |
||
已针对并行死锁情况对 XML 死锁图进行改进,将更多属性添加到了 exchangeEvent 资源。 | ||
已针对涉及批处理模式运算符的死锁对 XML 死锁图进行改进,将更多属性添加到了 SyncPoint 资源。 | ||
部分复制代理配置文件参数的动态重载 | 在目前复制代理的执行情况中,代理配置文件参数中产生的任何更改都要求停止并重启代理。 此改进允许动态重新加载参数,而无需重启复制代理。 |
SQL Server 2016 Service Pack 1 (SP1)
SQL Server 2016 (13.x) SP1 包含至 SQL Server 2016 (13.x) RTM CU3 的所有累积更新,包括安全更新 MS16-136。 它包含 SQL Server 2016 (13.x) 累积更新中提供的解决方案汇总,包括 2016 年 11 月 8 日发布的最新累积更新 - CU3 和安全更新 MS16-136。
以下功能在 SQL Server 2016 (13.x) SP1 的 Standard、Web、Express 和 Local DB 版中均可用(另有注明的除外):
- Always Encrypted
- 更改数据捕获(在 Express 版中不可用)
- 列存储
- 压缩
- 动态数据掩码
- 细化审核
- 内存中 OLTP(在 Local DB 版中不可用)
- 多文件流容器(在 Local DB 版中不可用)
- 分区
- PolyBase
- 行级别安全性
下表总结了 SQL Server 2016 (13.x) SP1 中提供的重要改进。
功能 | 说明 | 详细信息 |
---|---|---|
在 TF 715 下与自动 TABLOCK 成堆的大容量插入 | 跟踪标志 715 为没有非聚集索引的堆中的大容量加载操作启用表锁。 | Migrating SAP workloads to SQL Server just got 2.5x faster(将 SAP 工作负荷迁移到 SQL Server 速度加快了 2.5 倍) |
CREATE OR ALTER |
部署存储过程、触发器、用户定义的函数和视图等对象。 | SQL Server 数据库引擎博客 |
对复制的 DROP TABLE 支持 | DROP TABLE DDL 支持复制,以允许删除复制文章。 | KB 3170123 |
文件流 RsFx 驱动程序签名 | 文件流 RsFx 驱动程序使用 Windows 硬件开发人员中心仪表板门户(开发门户)签名和认证,从而允许在 Windows Server 2016/Windows 10 上毫无问题地安装 SQL Server 2016 (13.x) SP1 文件流 RsFx 驱动程序。 | Migrating SAP workloads to SQL Server just got 2.5x faster(将 SAP 工作负荷迁移到 SQL Server 速度加快了 2.5 倍) |
SQL 服务帐户的 LPIM - 编程识别 | 允许 DBA 以编程方式识别服务启动时内存中锁定页面 (LPIM) 特权是否生效。 | Developers Choice:Programmatically identify LPIM and IFI privileges in SQL Server(开发人员选择:以编程方式识别 SQL Server 中的 LPIM 和 IFI 特权) |
手动更改跟踪清除 | 新存储过程根据需要清除更改跟踪内部表。 | KB 3173157 |
本地临时表的并行 INSERT..SELECT 更改 |
INSERT..SELECT 操作中的新并行插入。 | SQL Server Customer Advisory Team(SQL Server 客户咨询团队) |
Showplan XML | 扩展诊断包括授予警告和针对查询启用的最大内存、启用的跟踪标志,并且还显示其他诊断信息。 | KB 3190761 |
存储类内存 | 在 Windows Server 2016 中使用存储类内存推进事务处理,带来的结果是事务提交时间加快了几个数量级。 | SQL Server 数据库引擎博客 |
USE HINT |
使用查询选项 OPTION(USE HINT('<option>')) 通过受支持的查询级别提示更改查询优化器行为。 与 QUERYTRACEON 不同,USE HINT 选项不需要 sysadmin 特权。 |
Developers Choice:USE HINT query hints(开发人员选择:USE HINT 查询提示) |
XEvent 添加件 | 新 XEvent 和 Perfmon 诊断功能改进了延迟的故障排除。 | 扩展事件 |
此外,请注意以下修补程序:
- 根据来自 DBA 和 SQL 社区的反馈,启动 SQL 2016 SP1,Hekaton 日志记录消息会减少至最少。
- 评审新的跟踪标志。
- WideWorldImporters 示例数据库的完整版本现在可用于 Standard Edition 和 Express Edition,从 SQL Server 2016 (13.x) SP1 开始,可在 Github 上获取。 示例中无需任何更改。 在 RTM 中创建的 Enterprise Edition 数据库备份可用于 SP1 中的 Standard 和 Express 版。
SQL Server 2016 (13.x) SP1 安装可能需要在安装后重启。 最佳做法是,在安装 SQL Server 2016 (13.x) SP1 后,应执行重启。
下载页和详细信息
- 下载 Microsoft SQL Server 2016 Service Pack 1
- SQL Server 2016 Service Pack 1 (SP1) 已发布
- SQL Server 2016 Service Pack 1 的发布信息
- 有关所有受支持版本的链接和信息(包括 SQL Server 的服务包),请参阅 SQL Server 更新中心
SQL Server 2016 版本- 正式发布版 (GA)
安装补丁要求(通用版)
问题和客户影响: Microsoft发现了影响 SQL Server 2016 作为先决条件安装的 Microsoft VC++ 2013 运行时二进制文件的问题。 现在有可用的更新来修复该问题。 如果未安装对 VC 运行时二进制文件的此更新,SQL Server 2016 在某些情况下可能会遇到稳定性问题。 在安装 SQL Server 2016 之前,请检查计算机是否需要 KB 3164398 中所述的补丁。 此修补程序也包含在 SQL Server 2016 RTM 的累积更新包 1 (CU1) 中。
解决方法: 使用以下任一解决方案:
安装 KB 3138367 - Visual C++ 2013 和 Visual C++ 可再发行包的更新。 KB 是首选的解决方案。 可以在安装 SQL Server 2016 (13.x) 之前或之后安装此更新。
如果已安装 SQL Server 2016 (13.x),请按顺序执行以下步骤:
- 下载相应的
vcredist_<version>.exe
。 - 停止数据库引擎的所有实例的 SQL Server 服务。
- 安装 KB 3138367。
- 重新启动计算机。
- 下载相应的
安装 KB 3164398 - 适用于 SQL Server 2016 MSVCRT 必备组件的关键更新。
如果使用 KB 3164398,可以在 SQL Server 安装过程中、通过 Microsoft 更新或从 Microsoft 下载中心进行安装。
在 SQL Server 2016 (13.x) 安装过程中:如果运行 SQL Server 安装程序的计算机具有 Internet 访问权限,那么作为整个 SQL Server 安装的一部分,SQL Server 安装程序将检查更新。 如果接受更新,安装程序会在安装过程中下载和更新二进制文件。
Microsoft 更新:该更新作为 SQL Server 2016 (13.x) 的重要的非安全更新,可从 Microsoft 更新获取。 在 SQL Server 2016 (13.x) 之后通过 Microsoft 更新进行安装要求在更新后重启服务器。
下载中心: 最后,可从 Microsoft 下载中心获取该更新。 可以在安装 SQL Server 2016 (13.x) 之后下载更新软件并将其安装在服务器上。
Stretch Database
与数据库或表名称中的特定字符有关的问题
问题及其对客户的影响: 尝试对数据库或表启用 Stretch Database 将失败,并出现错误。 将对象名称从小写转换为大写时,如果名称中包含被视为其他字符的一个字符,则会出现此问题。 导致此问题的一个示例字符是字符“ƒ”(通过键入 ALT+159 创建)。
解决方法: 如果想要对数据库或表启用 Stretch Database,唯一的方法是重命名对象并删除问题字符。
与使用 INCLUDE 关键字的索引有关的问题
问题和客户影响: 尝试对使用 INCLUDE 关键字在索引中包含额外列的索引表启用 Stretch Database 会失败,并出现错误。
解决方法: 删除使用 INCLUDE 关键字的索引,对表启用 Stretch Database,然后重新创建索引。 如果这样做,请务必遵从组织的维护实践和策略,以确保对受影响的表的用户的影响最小或没有影响。
查询存储
与版本的自动数据清理有关的问题(不包括企业版和开发人员版)
问题及其对客户的影响:
企业版和开发人员版以外的版本上的自动数据清理失败。 因此,如果未手动清除数据,查询存储使用的空间会随着时间推移而增长,直到达到配置的限制。 如果未缓解,此问题还会填满为错误日志分配的磁盘空间,因为每次尝试执行清理都会生成转储文件。 清理激活期取决于工作负荷频率,但不超过 15 分钟。
解决方法: 如果计划对企业版和开发人员版以外的版本使用查询存储,则需要显式关闭清理策略。 可通过 SQL Server Management Studio(数据库属性页)或 Transact-SQL 脚本来完成该操作:
此外,可以考虑手动清除以防止查询存储转变为只读模式。 例如,运行以下查询以定期清除整个数据空间:
ALTER DATABASE <database> SET QUERY_STORE CLEAR;
此外,请定期执行以下查询存储过程,以清理运行时统计信息、特定查询或计划:
sp_query_store_reset_exec_stats
sp_query_store_remove_plan
sp_query_store_remove_query
产品文档 (GA)
问题和客户影响: 尚未提供 SQL Server 2016 (13.x) 文档的可下载版本。 在使用帮助库管理器尝试联机安装内容时,你将看到 SQL Server 2012 和 SQL Sever 2014 文档,但没有 SQL Server 2016 (13.x) 文档的选项。
解决方法: 使用以下任一解决方法暂时解决此问题:
使用选项“选择联机或本地帮助”,然后配置“我想要使用联机帮助”对应的帮助选项。
使用选项“联机安装内容”并下载 SQL Server 2014 Content。
F1 帮助:按照设计,在 SQL Server Management Studio 中按 F1 时,F1 帮助文章的联机版本会显示在浏览器中,即使在配置并安装了本地帮助时,也会提供基于浏览器的帮助。
更新内容:
在 SQL Server Management Studio 和 Visual Studio 中,帮助查看器应用程序可能会在添加文档的过程中停止响应。 若要解决此问题,请完成下列步骤。 有关此问题的详细信息,请参阅 《Visual Studio 帮助查看器冻结》。
在记事本中打开
%LOCALAPPDATA%\Microsoft\HelpViewer2.2\HlpViewer_SSMS16_en-US.settings
或HlpViewer_VisualStudio14_en-US.settings
文件,并将以下代码中的日期更改为将来的某个日期。Cache LastRefreshed="12/31/2017 00:00:00"
其他信息
获取帮助
- SQL 意见:是否有改进 SQL Server 的建议?
- Microsoft Q&A (SQL Server)
- DBA Stack Exchange (tag sql-server):询问 SQL Server 相关问题
- Stack Overflow (tag sql-server):有关 SQL 开发问题的答案
- Reddit:有关 SQL Server 的一般讨论
- Microsoft SQL Server 许可条款和许可证信息
- 企业用户支持选项
- 其他 SQL Server 帮助和反馈
参与编辑 SQL 文档
你是否知道你可以自行编辑 SQL 内容? 你如果这样做,不仅可以帮助改进我们的文档,还可以获得页面贡献者的殊荣。
有关详细信息,请参阅如何参与 SQL Server 文档编辑