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
會依預設啟用,且將 SAFE
與 EXTERNAL_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)
我們的主要 Docs 位址仍然提供 SQL Server 2014文件。
我們的主要 Docs 位址提供 SQL Server 2022 文件。 接著,您可以使用頁面頂端附近的版本設定下拉式清單,選取另一個感興趣的版本。
如需舊版 SQL Server 文件的詳細資訊,請參閱舊版 SQL Server 文件。