適用対象: Sql Server 2022 (16.x) 以降のバージョン
Azure SQL Database
Azure SQL Managed Instance
SQL データベース
SQL Server (SQL Server 2022 (16.x) 以降)、Azure SQL Database、および Azure SQL Managed Instance では、表形式データ ストリーム (TDS) 8.0 を使用する場合、トランスポート層セキュリティ (TLS) 1.3 がサポートされます。
重要
TDS 接続に対して TLS 1.3 がサポートされている場合でも、SQL Server サテライト サービスを起動するために TLS 1.2 が必要です。 マシンで TLS 1.2 を無効にしないでください。
SQL Server 2019 (15.x) 以前のバージョンでは、TLS 1.3 はサポートされていません。
TLS 1.2 と TLS 1.3 の違い
TLS 1.3 を使用すると、ハンドシェイク フェーズ中のラウンド トリップの回数が 2 から 1 に減り、TLS 1.2 よりも高速で安全になります。 サーバー証明書を含む server hello パケットが暗号化され、1 回のラウンド トリップ時間 (1-RTT) 再開が中止され、クライアント キー共有に基づく 0-RTT 再開に置き換えられます。 TLS 1.3 のセキュリティの強化は、特定の暗号とアルゴリズムの廃止に起因します。
TLS 1.3 で削除されたアルゴリズムと暗号の一覧を次に示します:
- RC4 ストリーム暗号
- RSA キー交換
- SHA-1 ハッシュ関数
- CBC (ブロック) モード暗号
- MD5 アルゴリズム
- さまざまな永続的 Diffie-Hellman グループ
- EXPORT-strength 暗号
- DES
- 3DES
ドライバー サポート
ドライバー機能サポート マトリックスをレビューし、現在 TLS 1.3 をサポートしているドライバーを決定します。
オペレーティング システムのサポート
現在、次のオペレーティング システムが TLS 1.3 をサポートしています。
SQL Server 2025 のサポート
SQL Server 2025 (17.x) では、次の機能に対する TLS 1.3 のサポートが導入されています。
- SQL Server エージェント
- Always On 可用性グループ
- Always On フェールオーバー クラスター インスタンス (FCI)
- リンク サーバー
- トランザクション レプリケーション
- マージ レプリケーション
- スナップショット レプリケーション
- ログ配布
- データベース メール
セットアップの制限事項
TLS 1.3 がオペレーティング システムで有効になっている唯一の TLS バージョンである場合、SQL Server 2025 のセットアップは失敗します。 セットアップ プロセスでは、インストール中に TLS 1.2 を使用できる必要があります。 セットアップが完了すると、必要に応じて TLS 1.2 を無効にすることができます。
セットアップ中のエラー メッセージは次のとおりです。 A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - No process is on the other end of the pipe.)
証明書の要件
SQL Server 2025 で TDS 8.0 を使用する場合は、特定の証明書要件を満たす必要があります。
- 信頼された証明書: 証明書は、信頼された証明機関 (CA) によって発行される必要があります。 Microsoft OLE DB Driver for SQL Server バージョン 19 では、自己署名証明書は既定では受け入れなくなりました。
-
証明書の検証:
TrustServerCertificateをFalseまたはNoに設定する必要があります。 Microsoft OLE DB Driver for SQL Server バージョン 19 では、証明書の信頼チェーンが検証され、証明書の検証はバイパスできません。 - サブジェクト代替名 (SAN) の要件: 証明書には、完全修飾ドメイン名 (FQDN) と Netbios 名の両方が SAN リストに含まれている必要があります。 SQL Server Management Studio (SSMS) では接続時に Netbios 名が使用されることが多く、エントリが見つからないと検証エラーが発生します。
- SAN エントリの計画: 証明書の発行中に使用可能なすべてのクライアント接続名 (FQDN、Netbios 名、サービス エイリアス) を含めます。 後で名前を追加するには、新しい証明書を作成し、SQL Server インスタンスを再起動する必要があります。
証明書の検証の詳細については、「 暗号化と証明書の検証 - OLE DB Driver for SQL Server」を参照してください。
SQL Server 2025 での既定のセキュリティで保護された構成
SQL Server 2025 では、既定で暗号化が有効になっている TDS 8.0 を使用する複数の機能に対して、既定でセキュリティで保護された構成が導入されています。
SQL Server エージェント:
Encrypt=Mandatoryで Microsoft OLE DB Driver for SQL Server バージョン 19 を使用し、TrustServerCertificate=Falseを持つ有効なサーバー証明書が必要です。 TLS 1.3 のみが有効になっている TLS バージョンの場合は、Encrypt=Strict(強制的に厳密な暗号化) を構成する必要があります。Always On 可用性グループと FCI: ODBC Driver for SQL Server バージョン 18 を既定で
Encrypt=Mandatory使用します。 他の機能と違って、Always On 可用性グループと FCI では、自己署名シナリオを許可しますTrustServerCertificate=True。リンク サーバー: 既定で Microsoft OLE DB Driver for SQL Server バージョン 19 を
Encrypt=Mandatory使用します。 別の SQL Server インスタンスを対象とする場合は、接続文字列で暗号化パラメーターを指定する必要があります。ログ配布: microsoft OLE DB Driver for SQL Server バージョン 19 と
Encrypt=Mandatoryを使用し、有効なサーバー証明書が必要です。 最新のセキュリティ構成をサポートしていない下位バージョンからのインプレース アップグレードを実行する場合、暗号化設定をより安全なオプションで明示的にオーバーライドしない場合、ログ配布ではTrustServerCertificate=Trueを使用して下位互換性を確保します。 アップグレード後に TDS 8.0 で TLS 1.3 とEncrypt=Strictを適用するには、ログ配布ストアド プロシージャの更新されたパラメーターを使用してトポロジを削除して再作成します。レプリケーション: (トランザクション、スナップショット、マージ)
Encrypt=Mandatoryで Microsoft OLE DB Driver for SQL Server バージョン 19 を使用し、TrustServerCertificate=Falseで有効な証明書が必要です。データベース メール: 既定の設定は
Encrypt=OptionalとTrustServerCertificate=Trueです。 TLS 1.3 が適用されると、これらの値はEncrypt=StrictとTrustServerCertificate=Falseに変わります。 既定では、Azure SQL Managed Instance は TLS 1.3 プロトコルを使用します。PolyBase:
Encrypt=Yesで ODBC Driver for SQL Server バージョン 18 を使用します。 PolyBase を使用すると、TrustServerCertificate=Trueを自己署名シナリオで可能にします。SQL VSS ライター:
Encryption=Strictを使用して SQL Server 2025 インスタンスに接続する場合、SQL VSS ライターは、その接続の非仮想デバイス インターフェイス (VDI) 部分に TLS 1.3 と TDS 8.0 を使用します。
コンポーネント固有の要件
TLS 1.3 を使用する SQL Server エージェント: TLS 1.3 のみが有効になっている場合は、強制厳密暗号化 (TDS 8.0) を使用する必要があります。 暗号化設定 (
MandatoryまたはOptional) を低くすると、接続エラーが発生します。SQL Server エージェント T-SQL ジョブ: ローカル インスタンスに接続する SQL Server エージェント T-SQL ジョブは、SQL Server エージェントの暗号化設定を継承します。
PowerShell モジュール: SQLPS.exe と SQLPS PowerShell モジュールは現在、TDS 8.0 ではサポートされていません。
Always On 可用性グループとFCI: TDS 8.0を使用した厳密な暗号化を構成するには、
CLUSTER_CONNECTION_OPTIONSとEncrypt=Strict句を組み合わせて、フェールオーバーを実行して設定を適用します。