A kapcsolati karakterlánc 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 karakterlánc-szerkesztő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 karakterláncai

A SqlConnection kapcsolati sztring szintaxisát a SqlConnection.ConnectionString tulajdonság dokumentálja. 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(z) Persist Security Info kulcsszó alapértelmezett beállítása: false. Ha ezt a beállítást true vagy yes értékre állítja, a kapcsolat megnyitása után biztonsági szempontból érzékeny adatok, beleértve a felhasználóazonosítót és a jelszót, lekérdezhetők a kapcsolatból. Hagyja a(z) Persist Security Info beállítást false értéken annak biztosításához, hogy egy nem megbízható forrás ne férhessen hozzá a kapcsolati karakterlánc bizalmas adataihoz.

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;"  

Kapcsolati karakterlánc létrehozásakor a SqlConnectionStringBuilderDataSource tulajdonságát is beállíthatja a példány nevére. A SqlConnection objektum DataSource tulajdonsága csak olvasható.

A típusrendszer verziójának módosításai

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ány a felhasználó Windows-hitelesítő adataival fut, nem szolgáltatásként.

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

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.