SQL Server 2017 (14.x)SQL Server 2017 (14.x) 資料庫引擎功能的重大變更Breaking Changes to Database Engine Features in SQL Server 2017 (14.x)SQL Server 2017 (14.x)

適用於: 是SQL Server 否Azure SQL Database 否Azure SQL 資料倉儲 否平行處理資料倉儲 APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

本主題描述 SQL Server 2017 (14.x)SQL Server 2017 (14.x) Database EngineDatabase Engine 中的重大變更。This topic describes breaking changes in the SQL Server 2017 (14.x)SQL Server 2017 (14.x) Database EngineDatabase Engine. 這些變更可能會中斷以舊版 SQL ServerSQL Server為根據的應用程式、指令碼或功能。These changes might break applications, scripts, or functionalities that are based on earlier versions of SQL ServerSQL Server. 當您升級時可能會遇到這些問題。You might encounter these issues when you upgrade.

SQL Server 2017 (14.x)SQL Server 2017 (14.x) Database EngineDatabase Engine 中的重大變更Breaking Changes in SQL Server 2017 (14.x)SQL Server 2017 (14.x) Database EngineDatabase Engine

  • CLR 使用 .NET Framework 中的程式碼存取安全性 (CAS),而這不再作為安全性界限受支援。CLR uses Code Access Security (CAS) in the .NET Framework, which is no longer supported as a security boundary. SQL Server 2017 (14.x)SQL Server 2017 (14.x)Database EngineDatabase Engine 開始,引進稱為 clr strict securitysp_configure 選項,來增強 CLR 組件的安全性。Beginning with SQL Server 2017 (14.x)SQL Server 2017 (14.x)Database EngineDatabase Engine, an sp_configure option called clr strict security is introduced to enhance the security of CLR assemblies. 預設啟用 clr strict security,並將 SAFEEXTERNAL_ACCESS CLR 組件視同標示了 UNSAFEclr strict security is enabled by default, and treats SAFE and EXTERNAL_ACCESS CLR assemblies as if they were marked UNSAFE. 可以基於回溯相容性停用 clr strict security 選項,但不建議這麼做。The clr strict security option can be disabled for backward compatibility, but this is not recommended. 停用 clr strict security 時,使用 PERMISSION_SET = SAFE 所建立的 CLR 組件可能可以存取外部系統資源、呼叫 Unmanaged 程式碼,以及需要 sysadmin 權限。When clr strict security is disabled, a CLR assembly created with PERMISSION_SET = SAFE may be able to access external system resources, call unmanaged code, and acquire sysadmin privileges. 啟用嚴格安全性之後,任何未簽署的組件都將無法載入。After enabling strict security, any assemblies that are not signed will fail to load. 此外,如果資料庫有 SAFEEXTERNAL_ACCESS 組件,RESTOREATTACH DATABASE 陳述式可以完成,但可能無法載入組件。Also, if a database has SAFE or EXTERNAL_ACCESS assemblies, RESTORE or ATTACH DATABASE statements can complete, but the assemblies may fail to load.
    若要載入組件,您必須改變或置放並重新建立每個組件,以便使用憑證或非對稱金鑰簽署,該金鑰有具有伺服器 UNSAFE ASSEMBLY 權限的對應登入。To load the assemblies, you must either alter or drop and recreate each assembly so that it is signed with a certificate or asymmetric key that has a corresponding login with the UNSAFE ASSEMBLY permission on the server. 如需詳細資訊,請參閱 CLR 嚴格安全性For more information, see CLR strict security.

舊版Previous Versions

非常舊版的 SQL Server 封存文件Archived Documentation for Very Old Versions of SQL Server

我們會在一組封存網頁中累積及保留非常舊版 Microsoft SQL Server 的文件。We accumulate and retain documentation for very old versions of Microsoft SQL Server in sets of archived webpages. Bing.com 和 Google.com 之類的搜尋引擎不會處理封存網頁。The archived webpages are not processed by search engines, such as Bing.com and Google.com. 然而,您可以在我們 Docs 的 previous-versions/sql/ 位址上看到這些封存檔:Yet you can see these archives at our Docs previous-versions/sql/ address:

這些封存檔至少包含下列舊版的文件:These archives include the documentation for at least the following older versions:

  • SQL Server 2012SQL Server 2012
  • SQL Server 2008 R2SQL Server 2008 R2
  • SQL Server 2008SQL Server 2008
  • SQL Server 2005SQL Server 2005

我們的主要 Docs 位址仍然提供 SQL Server 2014文件SQL Server 2014 documentation is still available on our main Docs address.

我們的主要 Docs 位址提供 SQL Server 2019文件SQL Server 2019 documentation is available on our main Docs address. 接著使用頁面頂端附近的版本設定下拉式清單,選取另一個感興趣的版本。Then use the versioning dropdown near the top of the page, to select another version of interest.

如需舊版 SQL Server 文件的詳細資訊,請參閱舊版 SQL Server 文件For more information about the documentation for previous versions of SQL Server, see Previous versions of SQL Server documentation.

另請參閱See Also

SQL Server 2016 中已被取代的 Database Engine 功能 Deprecated Database Engine Features in SQL Server 2016
SQL Server 2016 中已停止的 Database Engine 功能 Discontinued Database Engine Functionality in SQL Server 2016
SQL Server Database Engine 回溯相容性 SQL Server Database Engine Backward Compatibility
ALTER DATABASE 相容性層級 (Transact-SQL)ALTER DATABASE Compatibility Level (Transact-SQL)