共用方式為


主要版本差異

加密屬性更改

在 Microsoft OLE DB Driver 19 for SQL Server 中,屬性/連接字串關鍵字和證書驗證行為發生了變化 Encrypt

首先,driver 屬性 SSPROP_INIT_ENCRYPT 從 a VT_BOOL 變更為 a VT_BSTR。 這個屬性no/yes/true/false/Optional/Mandatory/Strict的有效值為 。 provider 連接字串關鍵字Encrypt的有效值從no/yesno/yes/true/false/Optional/Mandatory/Strict 變更為 。 同樣,對於 IDataInitialize connection string 關鍵字 Use Encryption for Data,有效值將從 更改為 true/falseno/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 終端節點上支援加密,否則驅動程式無法連接。 適用於 SQL Server 的 OLE DB 驅動程式 19 繼續支援所有舊關鍵字值,以實現向後相容性。

其次,預設值從更改為 no/falseMandatory。 此更改意味著預設情況下會加密連接。 以前,如果伺服器端屬性設置為 Force Encryptionyes,則驅動程式將加密連接(如果由使用者顯式設置和/或 SQL Server 強制要求)。 要使用舊的預設行為,請包含在 Encrypt=Optional; 提供程式連接字串或 Use Encryption for Data=Optional; 連接字串中 IDataInitialize

第三, Trust Server Certificate 選項與 Encrypt/Use Encryption for Data 選項斷開連接。 在以前的版本中,當 在 Encrypt 用戶端 上時falseTrust 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 驅動程式 19 for SQL Server 的 CLSID。 通過介面 IDataInitialize 的連接必須將關鍵字的值 Provider 替換為 MSOLEDBSQL19 才能使用 Microsoft OLE DB Driver 19 for SQL Server。 在圖形使用者介面(如 SSMS 中的數據連結屬性或連結伺服器設置)中,必須從已安裝的提供程式清單中選擇“Microsoft OLE DB Driver 19 for SQL Server”。

另請參閱

適用於 SQL Server 的 OLE DB 驅動程式
將連接字串關鍵字與 OLE DB 驅動程式一起使用
加密和證書驗證
通用數據鏈路 (UDL) 配置
“SQL Server 登錄”對話框 (OLE DB)
初始化和授權屬性(OLE DB 驅動程式)
登錄設定