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 security
的sp_configure
選項來增強 CLR 組件的安全性。 預設啟用 clr strict security,並將SAFE
和EXTERNAL_ACCESS
CLR 組件視同標示了UNSAFE
。 可以基於回溯相容性而停用clr strict security
選項,但不建議這麼做。 停用clr strict security
時,使用PERMISSION_SET = SAFE
所建立的 CLR 組件可能可以存取外部系統資源、呼叫 Unmanaged 程式碼,以及需要 sysadmin 權限。 啟用嚴格安全性之後,將無法載入任何未簽署的組件。 此外,如果資料庫有SAFE
或EXTERNAL_ACCESS
組件,RESTORE
或ATTACH 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.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 文件。
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: