Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: .NET Framework
.NET
Standard
Microsoft.Data.SqlClient má objekt typu Connection, který dědí z DbConnection a má vlastnost specifickou pro poskytovatele ConnectionString. Konkrétní syntaxe připojovacího řetězce pro zprostředkovatele SqlClient je zdokumentovaná ve své ConnectionString vlastnosti. Další informace o syntaxi připojovací řetězec naleznete v tématu ConnectionString.
Tvůrci připojovacích řetězců
Zprostředkovatel dat Microsoft SqlClient pro SQL Server zavedl následující tvůrce připojovacích řetězců.
Tvůrci připojovacích řetězců umožňují vytvářet syntakticky platné připojovací řetězce za běhu, takže v kódu nemusíte ručně zřetězit hodnoty připojovacího řetězce. Další informace naleznete v tématu Tvůrci řetězců připojení.
Windows authentication
Pro připojení ke zdrojům dat, které ho podporují, doporučujeme použít ověřování systému Windows (někdy označované jako integrované zabezpečení). Následující tabulka ukazuje syntaxi ověřování systému Windows použitou se zprostředkovatelem dat Microsoft SqlClient pro SQL Server.
| Provider | Syntaxe |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
Připojovací řetězec SqlClient
Syntaxe připojovací řetězec SqlConnection je zdokumentovaná ve SqlConnection.ConnectionString vlastnosti. Vlastnost můžete použít ConnectionString k získání nebo nastavení připojovací řetězec pro databázi SQL Serveru. Klíčová slova připojovacího řetězce se také mapují na vlastnosti v objektu SqlConnectionStringBuilder.
Důležité
Výchozí nastavení pro Persist Security Info klíčové slovo je false.
true Když ho nastavíte nebo yes povolíte, aby se po otevření připojení získaly z připojení citlivé na zabezpečení, včetně ID uživatele a hesla. Ponechte Persist Security Info nastavenou možnost false zajistit, aby nedůvěryhodný zdroj neměl přístup k citlivým informacím připojovací řetězec.
Ověřování systému Windows pomocí SqlClient
Každá z následujících forem syntaxe používá ověřování systému Windows pro připojení k databázi AdventureWorks na místním serveru.
"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;"
Ověřování SQL Serveru pomocí SqlClient
Ověřování systému Windows je upřednostňované pro připojení k SQL Serveru. Pokud je však vyžadováno ověřování SQL Serveru, zadejte uživatelské jméno a heslo pomocí následující syntaxe.
"Persist Security Info=False;User ID=<user name>;Password=<password>;Initial Catalog=AdventureWorks;Server=MySqlServer;Encrypt=True;"
Když se připojíte ke službě Azure SQL Database nebo k Azure Synapse Analytics a zadáte uživatelské jméno ve formátu user@servername, ujistěte se, že servername hodnota v uživatelském jménu odpovídá hodnotě zadané pro Server=.
Poznámka:
Ověřování systému Windows má přednost před přihlášeními k SQL Serveru. Pokud zadáte integrované zabezpečení =true i uživatelské jméno a heslo, uživatelské jméno a heslo budou ignorovány a bude použito ověřování systému Windows.
Připojení k pojmenované instanci SQL Serveru
Pokud se chcete připojit k pojmenované instanci SQL Serveru, použijte syntaxi názvu serveru\instance .
"Data Source=MySqlServer\MSSQL1;"
Při vytváření připojovací řetězec můžete také nastavit DataSource vlastnost SqlConnectionStringBuilder názvu instance. Vlastnost DataSource objektu SqlConnection je určena jen pro čtení.
Změny verzí systému typů
Klíčové Type System Version slovo v sadě SqlConnection.ConnectionString určuje reprezentaci typů SQL Serveru na straně klienta. Další informace o klíčovém slově Type System Version naleznete v tématu SqlConnection.ConnectionString.
Připojení a přidání k uživatelským instancím SQL Serveru Express
Instance uživatelů jsou funkcí SQL Serveru Express. Umožní uživateli, který běží na nejméně privilegovaném místním účtu Windows, připojit a spustit databázi SQL Serveru bez vyžadování oprávnění správce. Instance uživatele se spustí s přihlašovacími údaji windows uživatele, ne jako služba.
Další informace o práci s instancemi uživatelů naleznete v tématu INSTANCE UŽIVATELE SQL Server Express.
Použití TrustServerCertificate
Klíčové TrustServerCertificate slovo se používá při připojování k instanci SQL Serveru. Pokud TrustServerCertificate je nastavená hodnota true, transportní vrstva používá protokol TLS/SSL k šifrování kanálu a obcházení procházení řetězu certifikátů k ověření důvěryhodnosti.
- Ve verzích starších než Microsoft.Data.SqlClient 2.0 se toto nastavení ignoruje, pokud
Encryptje nastavené naFalsea certifikát serveru se neověřuje. - Počínaje verzí 2.0 Microsoft.Data.SqlClient, i pokud je
EncryptnastavenaFalse, toto nastavení určuje, zda se provádí ověření certifikátu, když server požaduje šifrování. - Počínaje verzí 5.0 Microsoft.Data.SqlClient se toto nastavení ignoruje, pokud je
Encryptnastaveno naStrict. Certifikát serveru se vždy ověřuje vStrictrežimu.
Další informace naleznete v tématu Šifrování a ověření certifikátu.
"TrustServerCertificate=true;"
HostNameInCertificate
Počínaje verzí 5.0 Microsoft.Data.SqlClient je hostNameInCertificate novou možností připojení. Ověření certifikátu serveru zajišťuje, že běžný název (CN) nebo alternativní název subjektu (SAN) v certifikátu odpovídá názvu serveru, ke kterému je připojený. V některých případech, jako jsou aliasy DNS, se název serveru nemusí shodovat s cn nebo SAN. Hodnotu HostNameInCertificate lze použít k určení jiného, očekávaného cn nebo san v certifikátu serveru.
"HostNameInCertificate=myserver.example.com"
ServerCertificate
Počínaje verzí 5.1 Microsoft.Data.SqlClient, ve které je ServerCertificate nová možnost připojení. Výchozí hodnota nastavení připojení ServerCertificate je prázdný řetězec. Pokud je Encrypt nastaveno na Mandatory nebo Strict, ServerCertificate lze použít k určení cesty v systému souborů k souboru certifikátu tak, aby odpovídal certifikátu TLS serveru. Aby byl certifikát platný, musí se zadaný certifikát přesně shodovat. Přijaté formáty certifikátů jsou PEM, DER a CER. Tady je příklad:
"Data Source=...;Encrypt=Strict;ServerCertificate=C:\certificates\server.cer"
Povolení šifrování
Chcete-li povolit šifrování, pokud certifikát nebyl zřízen na serveru, musí být vlastnost připojení certifikátu důvěryhodného serveru nastavena na Truehodnotu . V tomto případě šifrování používá certifikát serveru podepsaný svým držitelem bez ověření, protože na serveru nebyl zřízen žádný ověřitelný certifikát.
Nastavení aplikace nemůže snížit úroveň zabezpečení nakonfigurovanou na SQL Serveru, ale může ji volitelně posílit. Aplikace může požádat o šifrování nastavením klíčových slov TrustServerCertificate a Encrypt na true, čímž se zaručí, že šifrování proběhne, i když nebyl zřízen certifikát serveru. Pokud TrustServerCertificate ale není v konfiguraci klienta povolená, je stále vyžadován zřízený certifikát serveru.
Následující tabulka popisuje všechny případy.
| Šifrování připojovacího řetězce nebo atributu | Důvěřovat certifikátu serveru připojovací řetězec/atributu | Result |
|---|---|---|
| Ne/Volitelné | Ignored | Nedojde k žádnému šifrování. |
| Ano/povinné | Ne | K šifrování dochází pouze v případě, že existuje ověřitelný certifikát serveru, jinak se pokus o připojení nezdaří. |
| Ano/povinné | Ano | K šifrování vždy dochází, ale může používat certifikát serveru podepsaný svým držitelem. |
| Striktní1 | Ignored | K šifrování vždy dochází a musí používat ověřitelný certifikát serveru, jinak pokus o připojení selže. |
1 Striktní šifrování je k dispozici pouze od Microsoft.Data.SqlClient verze 5.0.
Další informace, včetně chování v předchozích verzích, naleznete v tématu Šifrování a ověření certifikátu.
Viz také
Připojovací řetězce
Šifrování a ověřování certifikátů
Připojení ke zdroji dat
Microsoft ADO.NET pro SQL Server