Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőre vonatkozik: .NET Framework
.NET .NET
Standard
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
Encryptbe van állítvaFalse, é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
Encryptbe van állítvaFalseis, 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
Encryptbe van állítvaStrict. A kiszolgálótanúsítvány mindig érvényesítve vanStrictmó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