SQL Server 2017 中数据库引擎功能的重大更改

适用于SQL Server 2017 (14.x) 及更高版本

本主介绍 SQL Server 2017 (14.x) 数据库引擎 中的中断性变更。 这些更改可能导致基于 SQL Server的早期版本的应用程序、脚本或功能无法继续使用。 在进行升级时可能会遇到这些问题。

SQL Server 2017 数据库引擎 中的中断性变更

CLR 在 .NET Framework 中使用代码访问安全性 (CAS)(不可再作为安全边界)。 使用 PERMISSION_SET = SAFE 创建的 CLR 程序集可以访问外部系统资源、调用非托管代码以及获取 sysadmin 特权。 在 SQL Server 2017 (14.x) 及更高版本中,sp_configure 选项 clr strict security 增强了 CLR 程序集的安全性。 默认启用 clr strict security,并将 SAFEEXTERNAL_ACCESS 程序集与标记为 UNSAFE 的程序集同等对待。 可禁用 clr strict security 选项以实现后向兼容性,但不建议这样做。

建议使用证书或非对称密钥对所有程序集进行签名,且该证书或非对称密钥具有已在 UNSAFE ASSEMBLY 数据库中获得 master 权限的相应登录名。 SQL Server 管理员还可以将程序集添加到数据库引擎应信任的程序集列表。 有关详细信息,请参阅 sys.sp_add_trusted_assembly

已在 SQL Server 2016 (13.x) 中弃用 MD2、MD4、MD5、SHA 和 SHA1 算法。 在 SQL Server 2016 (13.x) 之前,需使用 SHA1 创建自签名证书。 从 SQL Server 2017 (14.x) 开始,可使用 SHA2_256 创建自签名证书。

旧版

旧版本的 SQL Server 的存档文档

我们通过多组存档网页来留存较早版本的 Microsoft SQL Server 的相关文档。 搜索引擎(例如 bing.com 和 google.com)不会处理存档网页。 但是,可在 Docs previous-versions/sql/ 地址中看到这些存档 :

这些存档至少包括以下较早版本的相关文档:

  • SQL Server 2014 (12.x)
  • SQL Server 2012 (11.x)
  • SQL Server 2008 R2 (10.50.x)
  • SQL Server 2008 (10.0.x)
  • SQL Server 2005 (9.x)

SQL Server 2014 文档仍在主要的 Docs 地址中提供。

SQL Server 2022 文档在主要的 Docs 地址中提供。 然后,可以使用页面顶部附近的“版本控制”下拉列表来选择其他感兴趣的版本。

有关 SQL Server 早期版本的文档的详细信息,请参阅以前版本的 SQL Server 文档