Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az SQL Serverhez készült Microsoft OLE DB Driver 19 és a korábbi verziók közötti kompatibilitástörő változásokat ismerteti.
Jótanács
MSOLEDBSQL19 (SQL Serverhez készült Microsoft OLE DB Driver 19) az aktuálisan ajánlott OLE DB-illesztő. Támogatja a TDS 8.0 és a modern biztonsági funkciókat. A 19.2.0+-os verzió a TLS 1.3-at is támogatja. Használja Provider=MSOLEDBSQL19 a kapcsolati sztringekben.
Módosítások összefoglalása
| Area | 18-es és korábbi verzió | 19-es vagy újabb verzió |
|---|---|---|
Alapértelmezett titkosítási (Encrypt) beállítás |
no (nincs titkosítás, vagy a kiszolgáló titkosítást igényelhet) |
Mandatory (titkosítás szükséges) |
Encrypt tulajdonságtípus |
VT_BOOL |
VT_BSTR |
Encrypt érvényes értékek |
no/yes |
no/yes/true/false/Optional/Mandatory/Strict |
| Tanúsítvány érvényesítése | Kihagyva az ügyfélkészletek esetén Encrypt=no |
Mindig kiértékelve, amikor titkosítás történik |
| Illesztőprogram neve | MSOLEDBSQL |
MSOLEDBSQL19 |
| CLSID |
MSOLEDBSQL_CLSID (örökölt) |
MSOLEDBSQL_CLSID (frissítve a fejlécben) |
Figyelmeztetés
Az ActiveDirectoryPassword hitelesítés elavult. Ha a 18-ról a 19-es verzióra migrál, és azt használja Authentication=ActiveDirectoryPassword, tervezze meg, hogy biztonságosabb hitelesítési módszerre migrál. Alternatív megoldásokért lásd az elavult hitelesítési módszereket .
Titkosítási tulajdonságok változásai
Tulajdonságtípus módosítása titkosítása
Az illesztőprogram tulajdonsága SSPROP_INIT_ENCRYPT a következőre VT_BOOLVT_BSTRváltozik: .
| Csatlakozási karakterlánc | A 18-es verzió értékei | A 19-es verzió értékei |
|---|---|---|
Szolgáltató: Encrypt |
no/yes |
no/yes/true/false/Optional/Mandatory/Strict |
IDataInitialize: Use Encryption for Data |
true/false |
no/yes/true/false/Optional/Mandatory/Strict |
Értékleképezés:
| Üzemmód | Egyenértékű értékek | Magatartás |
|---|---|---|
Optional |
no, false |
Titkosítatlan, kivéve, ha a kiszolgáló megköveteli |
Mandatory (alapértelmezett) |
yes, true |
Titkosított kapcsolat szükséges |
Strict |
(nincs egyenértékű) | TDS 8.0 titkosítás; az SQL Server 2022+-t igényli |
Jótanács
A 19.2.0-s verziótól kezdve a TDS 8.0-kapcsolatok használhatják a TLS 1.3-at az SQL Server 2022-es vagy újabb verziójához való csatlakozáskor. A ServerCertificate tulajdonságot ebben a verzióban is hozzáadták. További információ: TLS 1.3 támogatása.
A visszamenőleges kompatibilitás érdekében a 19-es verzió az új értékek () mellett az összes 18-at (yesMandatorynoStrict/Optional//) elfogadja.
Alapértelmezett titkosítási viselkedés
| verzió | Alapértelmezett | Result |
|---|---|---|
| 18 és korábbi | no |
Alapértelmezés szerint titkosítatlan kapcsolatok |
| 19+ | Mandatory |
Alapértelmezés szerint titkosított kapcsolatok |
A 18-es verzió működésének visszaállításához adja hozzá az alábbi lehetőségek egyikét a kapcsolati sztringhez:
- Szolgáltató:
Encrypt=Optional; - IDataInitialize:
Use Encryption for Data=Optional;
Tanúsítványérvényesítési viselkedés
| Scenario | 18-es verzió | 19-es vagy újabb verzió |
|---|---|---|
Ügyfélkészletek Encrypt=no, a kiszolgáló nem kényszeríti a titkosítást |
Nincs ellenőrzés | Nincs ellenőrzés |
Ügyfélkészletek Encrypt=no, kiszolgáló kényszeríti a titkosítást |
Trust Server Certificate
Figyelmen kívül hagyja |
Trust Server Certificate
Értékelni |
Ügyfélkészletek Encrypt=yes |
Trust Server Certificate Értékelni |
Trust Server Certificate Értékelni |
Kompatibilitási megjegyzések
Az alapértelmezett beállításokat használó 19-es verziójú ügyfelek nem csatlakoznak, ha a kiszolgáló titkosítást kényszerít, és nem megbízható tanúsítványt használ. Frissítse a Trust Server Certificate beállítást, vagy használjon megbízható tanúsítványt.
TrustServerCertificate
nem lett eltávolítva a 19-es verzióban. A lehetőség továbbra is működik. A 18-es verzió figyelmen kívül hagyta ezt a beállítást, amikor Encrypt a beállítás a nokiszolgáló kényszerített titkosítása esetén is megtörtént. A 19-es verzió mostantól minden titkosított forgatókönyvben kiértékeli TrustServerCertificate azokat.
A 19-es verzió illesztője a 19.4.1-es verzió előtt olyan telepítőproblémával rendelkezett, amely a TrustServerCertificate beállításjegyzék beállítását no olyan rendszereken tudta beállítani, amelyeken korábban v18 volt telepítve. Amikor ez a probléma történt, az illesztőprogram a biztonságosabb beállításjegyzék-beállítást használná, ami miatt a kapcsolati sztring beállításai hatástalannak tűnhetnek. Ezt a problémát a 19.4.1-es verzió oldotta meg. A v19 friss telepítése (v18 nélkül) mindig helyesen alapértelmezette a beállításjegyzék beállítását yes. További információ: Beállításjegyzék beállításai.
A kulcsszó formátuma interfészenként eltérő:
- A szolgáltatói kapcsolati sztringek nem használnak szóközöket:
TrustServerCertificate=yes; - Az IDataInitialize kapcsolati sztringek szóközöket használnak:
Trust Server Certificate=yes;
További információ: Titkosítás és tanúsítványérvényesítés az OLE DB-ben.
A Force Protocol Encryption beállításjegyzék-beállításai
A Force Protocol Encryption beállításjegyzék a titkosítási módokhoz megfeleltetendő numerikus értékeket használ:
| Beállításazonosító | Titkosítási mód | Description |
|---|---|---|
0 |
Optional |
Titkosítás csak akkor, ha a kiszolgáló megköveteli |
1 |
Mandatory |
Titkosítás szükséges |
2 |
Strict |
TDS 8.0-titkosítás |
Az illesztőprogram a beállításjegyzék-beállítás és a kapcsolati tulajdonság közötti legbiztonságosabb beállítást használja. A beállításkulcsok helyéről a Beállításjegyzék beállításai című témakörben olvashat.
A járművezető nevének változása
A 19-es verzió támogatja az egymás melletti telepítést a 18-es verzióval. Az illesztőprogram neve tartalmazza a főverzió számát a differenciáláshoz.
| Interfész | 18-es verzió | 19-es verzió |
|---|---|---|
| Szolgáltatói kulcsszó | MSOLEDBSQL |
MSOLEDBSQL19 |
| CLSID-állandó | MSOLEDBSQL_CLSID |
MSOLEDBSQL_CLSID(frissítve)msoledbsql.h |
| Felhasználói felület megjelenítendő neve | Microsoft OLE DB-illesztő az SQL Serverhez | Microsoft OLE DB Driver 19 for SQL Server |
Migrálási lépések
- Adja meg a frissített
msoledbsql.hfejlécet a projektben. - For
IDBInitialize: Nincs szükség módosításokra (CLSID frissítve a fejlécben). - For
IDataInitialize: ChangeProvider=MSOLEDBSQLtoProvider=MSOLEDBSQL19. - Felhasználói felületi eszközök (SSMS, adatkapcsolat tulajdonságai): Válassza a Microsoft OLE DB Driver 19 for SQL Server lehetőséget.
Kapcsolati sztringek példái
18-es verzió (korábban):
Provider=MSOLEDBSQL;Server=myserver;Database=mydb;Trusted_Connection=yes;
19-es verzió (utána):
Provider=MSOLEDBSQL19;Server=myserver;Database=mydb;Trusted_Connection=yes;
19-es verzió explicit titkosítási beállításokkal:
Provider=MSOLEDBSQL19;Server=myserver;Database=mydb;Encrypt=Mandatory;TrustServerCertificate=no;
19-es verzió szigorú titkosítással (TDS 8.0):
Provider=MSOLEDBSQL19;Server=myserver;Database=mydb;Encrypt=Strict;ServerCertificate=C:\certs\server.cer;
Új 19-es verzió tulajdonságai
A 19-es verzió a bővített tanúsítványérvényesítés tulajdonságait mutatja be titkosítási móddal Strict .
HostNameInCertificate (v19.0.0+)
Megadja a kiszolgáló TLS/SSL-tanúsítványa alapján érvényesítendő állomásnevet. Ezt a tulajdonságot akkor használja, ha a kapcsolati sztring kiszolgálóneve eltér a tanúsítvány köznapi nevétől (CN) vagy tulajdonos alternatív neve (SAN).
| Interfész | Ingatlan |
|---|---|
| Szolgáltatói kulcsszó | HostNameInCertificate |
| IDataInitialize kulcsszó | Host Name In Certificate |
| OLE DB tulajdonság | SSPROP_INIT_HOST_NAME_CERTIFICATE |
Megjegyzés:
Ezt a tulajdonságot a rendszer figyelmen kívül hagyja, ha Trust Server Certificate engedélyezve van. Amikor Encrypt=Stricta rendszer mindig érvényesíti a tanúsítványt.
ServerCertificate (v19.2.0+)
Megadja a tanúsítványfájl elérési útját (PEM, DER vagy CER formátum) a pontos tanúsítványegyeztetéshez. Az illesztőprogram összehasonlítja ezt a tanúsítványt a kiszolgáló tanúsítványával a TLS-kézfogás során.
| Interfész | Ingatlan |
|---|---|
| Szolgáltatói kulcsszó | ServerCertificate |
| IDataInitialize kulcsszó | Server Certificate |
| OLE DB tulajdonság | SSPROP_INIT_SERVER_CERTIFICATE |
Fontos
ServerCertificate csak akkor használható, ha Encrypt=Strict. A használat megkísérlése vagy MandatoryOptional titkosítása csatlakozási hibát eredményez.
Elavult hitelesítési módszerek
ActiveDirectoryPassword
A ActiveDirectoryPassword hitelesítési módszer (Microsoft Entra ID Password authentication) elavult. Ez a hitelesítés az OAuth 2.0 erőforrás-tulajdonosi jelszó hitelesítő adatainak (ROPC) megadásán alapul, amely nem kompatibilis a többtényezős hitelesítéssel (MFA), és biztonsági kockázatot jelent.
Figyelmeztetés
A Microsoft távolodik ettől a magas kockázatú hitelesítési folyamattól, hogy megvédje a felhasználókat a rosszindulatú támadásoktól. A beállítás eltávolítása előtt tervezze meg a biztonságosabb hitelesítési módszerre való migrálást. További információ: Kötelező többtényezős hitelesítés tervezése az Azure-ban.
Ajánlott alternatívák
| Scenario | Ajánlott hitelesítés | Kapcsolati string kulcsszó |
|---|---|---|
| Interaktív felhasználói környezet | Többtényezős hitelesítés | Authentication=ActiveDirectoryInteractive |
| Az Azure-ban futó alkalmazás | Felügyelt identitás | Authentication=ActiveDirectoryMSI |
| Szolgáltatás/démon felhasználó nélkül | Szolgáltatásfelelős | Authentication=ActiveDirectoryServicePrincipal |
További információ: A Microsoft Entra-azonosító használata.
Hibaelhárítás
A kapcsolat tanúsítványérvényesítési hibával meghiúsul
Hibajelenség: A kapcsolat tanúsítványérvényesítési hibával vagy nem megbízható tanúsítványüzenettel meghiúsul.
Ok: A 19-es verzió alapértelmezés szerint érvényes Encrypt=Mandatorykiszolgálótanúsítványt igényel. A 18-es Encrypt=no verzió alapértelmezett értéke (titkosítatlan).
Megoldások:
- Ajánlott: Megbízható tanúsítvány telepítése a kiszolgálón.
-
Csak fejlesztés: Adja hozzá
TrustServerCertificate=yes;a kapcsolati sztringet (éles környezetben nem ajánlott). -
Tartalék: Hozzáadás
Encrypt=Optional;a 18-es verzió visszaállításához (csökkenti a biztonságot).
A kapcsolat meghiúsul a "Kiszolgálótanúsítvány csak szigorú titkosítással használható"
Hibajelenség: A kapcsolat a tulajdonság használatakor ServerCertificate meghiúsul.
Ok: A ServerCertificate tulajdonsághoz szükséges Encrypt=Strict.
Megoldás: Távolítsa el ServerCertificate a kapcsolati sztringet, vagy váltson a következőre Encrypt=Strict;: .
Az alkalmazás VT_BOOL hibaüzenetet kap a Titkosítás tulajdonság beállításakor
Hibajelenség: A logikai értékkel való beállítás SSPROP_INIT_ENCRYPT sikertelen.
Ok: A 19-es verzió a tulajdonságtípust VT_BOOL a következőre VT_BSTRmódosította: .
Megoldás: Logikai értékek helyett sztringértékeket ("Mandatory", "Optional", "Strict", "yes", ) "no"használjon.
A szolgáltató nem található a frissítés után
Hibajelenség: Az alkalmazás a "Szolgáltató nem található" vagy hasonló hibával meghiúsul.
Ok: A 19-es verzió egy másik szolgáltatónevet (MSOLEDBSQL19) használ.
Megoldások:
- Frissítse a kapcsolati sztringet a között
Provider=MSOLEDBSQLProvider=MSOLEDBSQL19. - Adja meg a frissített
msoledbsql.hfejlécet, ha a CLSID-vel használjaIDBInitialize.
Kapcsolódó tartalom
- Microsoft OLE DB-meghajtó az SQL Serverhez
- Connection string kulcsszavak használata OLE DB Driverrel SQL Server számára
- Titkosítás és tanúsítványérvényesítés az OLE DB-ben
- Univerzális adatkapcsolat (UDL) konfigurációja
- SQL Server Bejelentkezési párbeszédpanel (OLE DB)
- Inicializálási és engedélyezési tulajdonságok
- Rendszerleíró adatbázis beállításai