SQL Server 2017 (14.x) 中資料庫引擎的重大變更

適用於:SQL Server 2017 (14.x) 和更新版本

本文描述 SQL Server 2017 (14.x) 資料庫引擎中的重大變更。 這些變更可能會中斷以舊版 SQL Server 為基礎的應用程式、指令碼或功能。 當您升級時可能會遇到這些問題。

SQL Server 2017 資料庫引擎中的重大變更

  • CLR 使用 .NET Framework 中的程式碼存取安全性 (CAS),而這不再作為安全性界限受支援。 從 SQL Server 2017 (14.x) 資料庫引擎開始,引進稱為 clr strict securitysp_configure 選項來增強 CLR 組件的安全性。 預設啟用 clr strict security,並將 SAFEEXTERNAL_ACCESS CLR 組件視同標示了 UNSAFE。 可以基於回溯相容性而停用 clr strict security 選項,但不建議這麼做。 停用 clr strict security 時,使用 PERMISSION_SET = SAFE 所建立的 CLR 組件可能可以存取外部系統資源、呼叫 Unmanaged 程式碼,以及需要 sysadmin 權限。 啟用嚴格安全性之後,將無法載入任何未簽署的組件。 此外,如果資料庫有 SAFEEXTERNAL_ACCESS 組件,RESTOREATTACH DATABASE 陳述式可以完成,但可能無法載入組件。

    若要載入組件,您必須改變或置放並重新建立每個組件,以使用憑證或非對稱金鑰簽署,該金鑰有具有伺服器 UNSAFE ASSEMBLY 權限的對應登入。 如需詳細資訊,請參閱 CLR 嚴格安全性

  • 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.comgoogle.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)

我們的主要 Docs 位址仍然提供 SQL Server 2014文件

我們的主要 Docs 位址提供 SQL Server 2022 文件。 接著,您可以使用頁面頂端附近的版本設定下拉式清單,選取另一個感興趣的版本。

如需舊版 SQL Server 文件的詳細資訊,請參閱舊版 SQL Server 文件

另請參閱