昨年からリリースされている Microsoft 社提供の SQL Server 向けのデータアクセスコンポーネントで、暗号化設定の既定が変更されています。
私が確認した範囲では、次のコンポーネントを使用している場合に影響が出る可能性があります。
- 2021/11/19 : Released: General Availability of Microsoft.Data.SqlClient 4.0
- 2022/02/01 : JDBC Driver 10.2 for SQL Server Released
- 2022/02/15 : ODBC Driver 18.0 for SQL Server Released
- Microsoft ODBC Driver for SQL Server on Windows
- Release Notes for the Microsoft ODBC Driver for SQL Server on Linux and macOS
- 2022/02/15 : OLE DB Driver 19.0 for SQL Server Released
これらのデータアクセスコンポーネントでは「破壊的変更」として「Encrypt = true, by default」の変更が行われており、各コンポーネントの既定の接続が暗号化設定が有効になっています。
これにより、既定の接続の設定で使用している SQL Server に対して接続を行おうとした場合に「信頼されていない機関によって証明書チェーンが発行されました。」のエラーが発生するケースが出てくるかもしれません。
SQL Database の場合はサーバー名の証明書が自動で設定されていますが、オンプレミスの環境では自己署名証明書が使用されているため、「Trust Server Certificate」「Use Encryption for Data」の設定を使用しないと、上記のエラーが発生するかと思います。
関連情報として次のような内容も抑えておくとよさそうですね。
まだ、プレビューですが、Microsoft.Data.SqlClient の次のバージョンとなる 5.0 では Released: Microsoft.Data.SqlClient 5.0 Preview 2 でアナウンスされているようなサポートされる .NET Framework の変更もあるようです。
Breaking changes over v5.0.0-preview1
- Dropped support for .NET Framework 4.6.1 #1574