暗号化プロパティの変更
Microsoft OLE DB Driver 19 for SQL Server では、 Encrypt
プロパティ/接続文字列キーワードと証明書の検証動作が変更されています。
まず、ドライバー プロパティの SSPROP_INIT_ENCRYPT
が 1 VT_BOOL
から 1 VT_BSTR
に変わります。 このプロパティの有効な値は no
/yes
/true
/false
/Optional
/Mandatory
/Strict
です。 プロバイダー接続文字列キーワードの有効な値はEncrypt
no
/yes
から no
/yes
/true
/false
/Optional
/Mandatory
/Strict
に変更できます。 同様に、 IDataInitialize
接続文字列キーワード Use Encryption for Data
の場合、有効な値は true
/false
から no
/yes
/true
/false
/Optional
/Mandatory
/Strict
に変わります。
Optional
値は古いno
/false
値と同義であり、Mandatory
値は古いyes
/true
値と同義です。
Strict
は、OLE DB Driver for SQL Server のバージョン 19.0.0 で追加された新しい値であり、サーバーとの他のすべての通信に加えて、 PRELOGIN
パケットを暗号化します。
Strict
暗号化は、TDS 8.0 をサポートする SQL Server エンドポイントでのみサポートされ、それ以外の場合、ドライバーは接続に失敗します。 OLE DB Driver 19 for SQL Server は、下位互換性のために、従来のキーワード値をすべて引き続きサポートします。
次に、デフォルト値が no
/false
から Mandatory
に変わります。 この変更により、接続はデフォルトで暗号化されます。 以前は、ユーザーが明示的に設定した場合や、サーバー側のプロパティ Force Encryption
が yes
に設定されている場合に SQL Server によって義務付けられた場合、ドライバーは接続を暗号化していました。 以前の既定の動作を使用するには、プロバイダー接続文字列に Encrypt=Optional;
を含めるか、Use Encryption for Data=Optional;
接続文字列に IDataInitialize
を含めます。
3 番目に、 Trust Server Certificate
オプションは Encrypt
/Use Encryption for Data
オプションから切断されます。 以前のバージョンでは、クライアントで Encrypt
false
すると、サーバーで暗号化が必要な場合 (サーバー側のTrust Server Certificate
設定) でも、Force Encryption
設定は常に無視されていました。 バージョン 19 以降では、クライアントまたはサーバーが接続で暗号化をネゴシエートする場合、 Trust Server Certificate
設定が評価され、クライアントが証明書を検証するかどうかが判断されます。 この動作変更により、デフォルト設定を使用するバージョン 19 クライアントは、サーバーが暗号化を強制し、信頼できない証明書 (安全でないサーバー構成) を使用すると、接続に失敗します。 クライアントは、そのように構成されたサーバーに接続するために、 Trust Server Certificate
レジストリ設定と接続オプションを変更する必要があります。 詳細については、「レジストリ設定」および「暗号化と証明書の検証」を参照してください
ドライバー名の変更
新しい Microsoft OLE DB Driver 19 for SQL Server は、古い Microsoft OLE DB Driver for SQL Server とのサイド バイ サイド インストールをサポートしています。 ドライバーを区別できるように、メジャー バージョン番号を含むように名前が変更されました。 アプリケーションで新しいドライバーを使用するには、ユーザーは新しいドライバー名を指定する必要があります。 新しいドライバー名と対応する CLSID は、プロジェクトに含める必要がある更新された msoledbsql.h
ヘッダーで指定されます。
IDBInitialize
インターフェイスを介した接続では、MSOLEDBSQL_CLSID
が OLE DB Driver 19 for SQL Server の CLSID を指定するため、これ以上の変更は必要ありません。
IDataInitialize
インターフェイスを介した接続では、Provider
キーワードの値を MSOLEDBSQL19
に置き換える必要があります。SQL Server では、Microsoft OLE DB Driver 19 を使用します。 SSMS のデータ リンク プロパティやリンク サーバーのセットアップなどのグラフィカル ユーザー インターフェイスでは、インストールされているプロバイダーの一覧から "Microsoft OLE DB Driver 19 for SQL Server" を選択する必要があります。
こちらも参照ください
SQL Server 用 OLE DB ドライバ
OLE DB ドライバーでの接続文字列キーワードの使用
暗号化と証明書の検証
ユニバーサル データ リンク (UDL) の構成
SQL Server ログイン ダイアログ ボックス (OLE DB)
初期化プロパティと承認プロパティ (OLE DB ドライバ)
レジストリ設定