SQL Server 2017 (14.x) におけるデータベース エンジン機能の重大な変更

適用対象: はいSQL Server 2017 (14.x) 以降

このトピックでは、SQL Server 2017 (14.x)データベース エンジン における重大な変更について説明します。 これらの変更によって、以前のバージョンの SQL Serverに基づくアプリケーション、スクリプト、または機能が使用できなくなる場合があります。 この問題は、アップグレードするときに発生することがあります。

SQL Server 2017 (14.x)データベース エンジン における重大な変更

  • CLR では、セキュリティ境界としてサポートされなくなった、.NET Framework のコード アクセス セキュリティ (CAS) が使用されます。 SQL Server 2017 (14.x)データベース エンジン 以降、CLR アセンブリのセキュリティを強化するために clr strict security という sp_configure オプションが導入されました。 clr strict security は既定で有効になり、SAFE および EXTERNAL_ACCESS CRL アセンブリを UNSAFE とマークされている場合と同じように扱います。 clr strict security オプションは、旧バージョンとの互換性のために無効にできますが、これは推奨されません。 clr strict security を無効にすると、PERMISSION_SET = SAFE で作成された CLR アセンブリが、外部のシステム リソースにアクセスし、アンマネージ コードを呼び出し、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 のドキュメントが、アーカイブされた Web ページのセットに蓄積され、保持されています。 アーカイブされた Web ページは、Bing.com や Google.com などの検索エンジンの対象にはなりません。 これらのアーカイブは、Microsoft の Docs の previous-versions/sql/ アドレスで確認できます。

これらのアーカイブには少なくとも次の古いドキュメントが含まれます。

  • SQL Server 2014
  • SQL Server 2012
  • SQL Server 2008 R2
  • SQL Server 2008
  • SQL Server 2005

SQL Server 2014 のドキュメント は、引き続き、メインの Docs アドレスから入手できます。

SQL Server 2019 のドキュメント は、メインの Docs アドレスから入手できます。 次に、ページの上部近くにある [バージョン管理] ドロップダウンを使用して、対象の別のバージョンを選択します。

以前のバージョンの SQL Server に関するドキュメントの詳細については、「以前のバージョンの SQL Server ドキュメント」を参照してください。

参照

SQL Server 2016 データベース エンジンの非推奨の機能
SQL Server 2016 で廃止されたデータベース エンジンの機能
SQL Server データベース エンジンの旧バージョンとの互換性
ALTER DATABASE 互換性レベル (TRANSACT-SQL)