分享方式:


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 組件可以存取外部系統資源、呼叫非受控程式碼,以及取得系統管理員權限。 在 SQL Server 2017 (14.x) 和更新版本中,sp_configure 安全性選項可增強 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.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 文件