Megosztás:


Kapcsolati sztring szintaxisa

A következőre vonatkozik: .NET Framework .NET .NET Standard

ADO.NET letöltése

Az Microsoft.Data.SqlClient objektum egy Connection olyan objektummal rendelkezik, amelytől DbConnection örököl, és egy szolgáltatóspecifikus ConnectionString tulajdonságot. Az SqlClient-szolgáltató adott kapcsolati sztringszintaxisa ConnectionString a tulajdonságában van dokumentálva. Az kapcsolati sztring szintaxissal kapcsolatos további információkért lásd: ConnectionString.

Kapcsolati sztringkészítők

Az SQL Serverhez készült Microsoft SqlClient-adatszolgáltató a következő kapcsolati sztringszerkesztőt vezette be.

A kapcsolati sztringszerkesztők lehetővé teszik a szintaktikailag érvényes kapcsolati sztringek futásidőben történő összeállítását, így nem kell manuálisan összefűznie a kapcsolati sztring értékeit a kódban. További információ: Kapcsolati karakterlánc-építők.

Windows authentication

Javasoljuk, hogy a Windows-hitelesítés (más néven integrált biztonság) használatával csatlakozzon az azt támogató adatforrásokhoz. Az alábbi táblázat a Microsoft SqlClient Data Provider for SQL Serverhez használt Windows-hitelesítési szintaxist mutatja be.

Provider Szemantika
SqlClient Integrated Security=true;

-- or --

Integrated Security=SSPI;

SqlClient-kapcsolati sztring

A kapcsolati sztring szintaxisa SqlConnection a SqlConnection.ConnectionString tulajdonságban van dokumentálva. A ConnectionString tulajdonság használatával lekérhet vagy beállíthat kapcsolati sztring egy SQL Server-adatbázishoz. A kapcsolati string kulcsszavai a tulajdonságokra is társíthatók a SqlConnectionStringBuilder.

Fontos

A kulcsszó alapértelmezett beállítása a Persist Security Info következő false: . true yes A kapcsolatból a kapcsolat megnyitása után biztonsági szempontból bizalmas adatokra , köztük a felhasználói azonosítóra és a jelszóra vonatkozó beállításokat állíthatja be vagy engedélyezi. Ügyeljen Persist Security Info arrafalse, hogy a nem megbízható forrás ne férhessen hozzá bizalmas kapcsolati sztring információkhoz.

Windows-hitelesítés az SqlClient használatával

Az alábbi szintaxisformák mindegyike Windows-hitelesítéssel csatlakozik egy helyi kiszolgálón található AdventureWorks-adatbázishoz .

"Persist Security Info=False;Integrated Security=true;  
    Initial Catalog=AdventureWorks;Server=MSSQL1;Encrypt=True;"  
"Persist Security Info=False;Integrated Security=SSPI;  
    database=AdventureWorks;server=(local);Encrypt=True;"  
"Persist Security Info=False;Trusted_Connection=True;  
    database=AdventureWorks;server=(local);Encrypt=True;"  

SQL Server-hitelesítés az SqlClient használatával

Az SQL Serverhez való csatlakozáshoz előnyben részesítik a Windows-hitelesítést. Ha azonban SQL Server-hitelesítésre van szükség, használja az alábbi szintaxist a felhasználónév és a jelszó megadásához.

"Persist Security Info=False;User ID=<user name>;Password=<password>;Initial Catalog=AdventureWorks;Server=MySqlServer;Encrypt=True;"  

Amikor az Azure SQL Database-hez vagy az Azure Synapse Analyticshez csatlakozik, és megad egy felhasználónevet a formátumban user@servername, győződjön meg arról, hogy a servername felhasználónév értéke megegyezik a megadott Server=értékkel.

Megjegyzés:

A Windows-hitelesítés elsőbbséget élvez az SQL Server-bejelentkezésekkel szemben. Ha az Integrated Security=true értéket, valamint a felhasználónevet és a jelszót is megadja, a rendszer figyelmen kívül hagyja a felhasználónevet és a jelszót, és windowsos hitelesítést használ.

Csatlakozás az SQL Server nevesített példányához

Az SQL Server nevesített példányához való csatlakozáshoz használja a kiszolgálónév\példánynév szintaxisát.

"Data Source=MySqlServer\MSSQL1;"  

A kapcsolati sztring létrehozásakor a DataSource példány nevére is beállíthatja SqlConnectionStringBuilder a tulajdonságot. Egy DataSource objektum tulajdonsága SqlConnection írásvédett.

Rendszerverzió változásainak beírása

A Type System Version kulcsszó az SqlConnection.ConnectionString SQL Server-típusok ügyféloldali megjelenítését határozza meg. A kulcsszóval kapcsolatos további információkért Type System Version lásd: SqlConnection.ConnectionString.

Csatlakozás és csatolás SQL Server Express-felhasználói példányokhoz

A felhasználói példányok az SQL Server Express egyik funkciója. Lehetővé teszik, hogy a legkevésbé kiemelt helyi Windows-fiókon futó felhasználók rendszergazdai jogosultságok nélkül csatoljanak és futtassanak egy SQL Server-adatbázist. A felhasználói példányok nem szolgáltatásként, hanem a felhasználó Windows-hitelesítő adataival futnak.

A felhasználói példányok használatával kapcsolatos további információkért lásd: SQL Server Express User Instances.

A TrustServerCertificate használata

A TrustServerCertificate kulcsszót sql server-példányhoz való csatlakozáskor használja a rendszer. Ha TrustServerCertificate be van állítva true, az átviteli réteg TLS/SSL használatával titkosítja a csatornát, és megkerüli a tanúsítványláncot a megbízhatóság ellenőrzéséhez.

  • A Microsoft.Data.SqlClient 2.0 előtti verziókban a rendszer figyelmen kívül hagyja ezt a beállítást, amikor Encrypt be van állítva False , és a kiszolgálótanúsítvány nincs érvényesítve.
  • A Microsoft.Data.SqlClient 2.0-s verziójától kezdődően , még ha Encrypt be van állítva Falseis, a beállítás azt szabályozza, hogy a tanúsítvány érvényesítése akkor történik-e, amikor a kiszolgáló kényszeríti a titkosítást.
  • A Microsoft.Data.SqlClient 5.0-s verziójától kezdve ezt a beállítást a rendszer figyelmen kívül hagyja, ha Encrypt be van állítva Strict. A kiszolgálótanúsítvány mindig érvényesítve van Strict módban.

További információ: Titkosítás és tanúsítványérvényesítés.

"TrustServerCertificate=true;"

HostNévATanúsítványban

A Microsoft.Data.SqlClient 5.0-s verziójától kezdve a HostNameInCertificate egy új kapcsolati lehetőség. A kiszolgálótanúsítvány érvényesítése biztosítja, hogy a tanúsítványban szereplő köznapi név (CN) vagy tulajdonos alternatív neve (SAN) megegyezik a csatlakoztatott kiszolgáló nevével. Bizonyos esetekben, például a DNS-aliasok esetében előfordulhat, hogy a kiszolgáló neve nem egyezik a CN vagy a SAN névvel. A HostNameInCertificate érték használatával megadhat egy másik, várt CN-t vagy SAN-t a kiszolgálótanúsítványban.

"HostNameInCertificate=myserver.example.com"

ServerCertificate

A Microsoft.Data.SqlClient ServerCertificate 5.1-es verziójától kezdve egy új kapcsolati lehetőség. A ServerCertificate kapcsolatbeállítás alapértelmezett értéke egy üres sztring. Ha Encrypt be van állítva Mandatory vagy Strict, ServerCertificate akkor a fájlrendszeren megadhat egy olyan elérési utat egy tanúsítványfájlhoz, amely megfelel a kiszolgáló TLS-tanúsítványának. Ahhoz, hogy a tanúsítvány érvényes legyen, a megadott tanúsítványnak pontos egyezésnek kell lennie. Az elfogadott tanúsítványformátumok a PEM, a DER és a CER. Íme egy példa:

"Data Source=...;Encrypt=Strict;ServerCertificate=C:\certificates\server.cer"

Titkosítás engedélyezése

Ha engedélyezni szeretné a titkosítást, ha egy tanúsítvány nincs kiépítve a kiszolgálón, az Megbízhatósági kiszolgáló tanúsítvány kapcsolati tulajdonságának a következőre kell állítania True: . Ebben az esetben a titkosítás önaláírt kiszolgálói tanúsítványt használ ellenőrzés nélkül, mivel a kiszolgálón nem lett kiépítve ellenőrizhető tanúsítvány.

Az alkalmazásbeállítások nem csökkenthetik az SQL Serverben konfigurált biztonsági szintet, de szükség esetén megerősíthetik azt. Az alkalmazás titkosítást kérhet azzal, hogy a TrustServerCertificate és Encrypt kulcsszavakat true-re állítja, ezáltal garantálva, hogy a titkosítás akkor is végbemegy, ha még nincs kiépítve szervertanúsítvány. Ha TrustServerCertificate azonban nincs engedélyezve az ügyfélkonfigurációban, akkor is szükség van egy kiépített kiszolgálótanúsítványra.

Az alábbi táblázat az összes esetet ismerteti.

Kapcsolati sztring/attribútum titkosítása Megbízhatósági kiszolgáló tanúsítványának kapcsolati sztring/attribútuma Result
Nem/Opcionális Ignored Nem történik titkosítás.
Igen/kötelező Nem A titkosítás csak akkor történik meg, ha van ellenőrizhető kiszolgálói tanúsítvány, ellenkező esetben a csatlakozási kísérlet sikertelen lesz.
Igen/kötelező Igen A titkosítás mindig megtörténik, de használhat önaláírt kiszolgálói tanúsítványt.
Szigorú1 Ignored A titkosítás mindig megtörténik, és ellenőrizhető kiszolgálói tanúsítványt kell használnia, ellenkező esetben a csatlakozási kísérlet meghiúsul.

1 A szigorú titkosítás csak a Microsoft.Data.SqlClient 5.0-s verziójától kezdve érhető el.

További információkért, beleértve a korábbi verziók viselkedését, tekintse meg a titkosítást és a tanúsítványérvényesítést.

Lásd még

Kapcsolati karakterláncok
Titkosítás és tanúsítvány ellenőrzése
Csatlakozás adatforráshoz
Microsoft ADO.NET az SQL Serverhez