Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: .NET Framework
.NET
.NET Standard
Microsoft.Data.SqlClient öğesinin, Connection nesnesinde DbConnection öğesinden devralan ve sağlayıcıya özgü bir ConnectionString özelliği vardır. SqlClient sağlayıcısı için belirli bağlantı dizesi söz dizimi, kendi özelliğinde ConnectionString olarak belgelenmiştir. bağlantı dizesi söz dizimi hakkında daha fazla bilgi için bkzConnectionString. .
Bağlantı dizesi oluşturucuları
SQL Server için Microsoft SqlClient Veri Sağlayıcısı aşağıdaki bağlantı dizesi oluşturucusunu kullanıma sunulmuştur.
Bağlantı dizesi oluşturucuları, çalışma zamanında el ile geçerli bağlantı dizeleri oluşturmanıza olanak sağlar, böylece bağlantı dizesi değerlerini kodunuzda el ile birleştirmeniz gerekmez. Daha fazla bilgi için bkz . Bağlantı Dizesi Oluşturucuları.
Windows authentication
Bunu destekleyen veri kaynaklarına bağlanmak için Windows Kimlik Doğrulaması (bazen tümleşik güvenlik olarak da adlandırılır) kullanmanızı öneririz. Aşağıdaki tabloda, SQL Server için Microsoft SqlClient Veri Sağlayıcısı ile kullanılan Windows Kimlik Doğrulaması söz dizimi gösterilmektedir.
| Provider | Sözdizimi |
|---|---|
SqlClient |
Integrated Security=true;-- or --Integrated Security=SSPI; |
SqlClient bağlantı dizesi s
bir SqlConnection bağlantı dizesi söz dizimi özelliğinde SqlConnection.ConnectionString belgelenmiştir. özelliğini kullanarak ConnectionString SQL Server veritabanı için bir bağlantı dizesi alabilir veya ayarlayabilirsiniz. Bağlantı dizesi anahtar sözcükleri, SqlConnectionStringBuilder içindeki özelliklerle de eşleşir.
Önemli
anahtar sözcüğü için Persist Security Info varsayılan ayardır false. Bu ayarın true veya yes olarak ayarlanması, kullanıcı kimliği ve parola dahil olmak üzere güvenlik duyarlı bilgilerin bağlantı açıldıktan sonra bağlantıdan alınmasına izin verir. Güvenilmeyen bir kaynağın hassas bağlantı dizesi bilgilerine erişmediğinden emin olmak için olarak ayarlayın Persist Security Infofalse.
SqlClient ile Windows kimlik doğrulaması
Aşağıdaki söz dizimi formlarının her biri, yerel sunucudaki AdventureWorks veritabanına bağlanmak için Windows Kimlik Doğrulaması'nı kullanır.
"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;"
SqlClient ile SQL Server kimlik doğrulaması
SQL Server'a bağlanmak için Windows Kimlik Doğrulaması tercih edilir. Ancak, SQL Server Kimlik Doğrulaması gerekiyorsa, bir kullanıcı adı ve parola belirtmek için aşağıdaki söz dizimini kullanın.
"Persist Security Info=False;User ID=<user name>;Password=<password>;Initial Catalog=AdventureWorks;Server=MySqlServer;Encrypt=True;"
Azure SQL Veritabanı'na veya Azure Synapse Analytics'e bağlandığınızda ve biçiminde user@servernamebir kullanıcı adı sağladığınızda, kullanıcı adı içindeki değerin servername için Server=sağlanan değerle eşleştiğinden emin olun.
Uyarı
Windows kimlik doğrulaması, SQL Server oturum açma işlemlerinden önceliklidir. Hem "Integrated Security=true" hem de bir kullanıcı adı ve parola belirtirseniz, kullanıcı adı ve parolası göz ardı edilir ve Windows kimlik doğrulaması kullanılır.
SQL Server'ın adlandırılmış örneğine bağlanma
SQL Server'ın adlandırılmış bir örneğine bağlanmak için sunucu adı\örnek adı söz dizimini kullanın.
"Data Source=MySqlServer\MSSQL1;"
ayrıca bir bağlantı dizesi oluştururken öğesinin özelliğini DataSource örnek adına ayarlayabilirsinizSqlConnectionStringBuilder. Bir DataSourceSqlConnection nesnenin özelliği salt okunurdur.
Sistem sürümü değişikliklerini yazın
içindeki Type System VersionSqlConnection.ConnectionString anahtar sözcüğü, SQL Server türlerinin istemci tarafı gösterimini belirtir. Anahtar sözcük hakkında Type System Version daha fazla bilgi için bkz SqlConnection.ConnectionString. .
SQL Server Express kullanıcı örneklerine bağlanma ve ekleme
Kullanıcı örnekleri SQL Server Express'teki bir özelliktir. En düşük ayrıcalıklı yerel Windows hesabı üzerinde çalışan bir kullanıcının yönetim ayrıcalıklarına gerek kalmadan SQL Server veritabanı eklemesine ve çalıştırmasına izin verir. Bir kullanıcı örneği, hizmet olarak değil kullanıcının Windows kimlik bilgileriyle yürütülür.
Kullanıcı örnekleriyle çalışma hakkında daha fazla bilgi için bkz . SQL Server Express Kullanıcı Örnekleri.
TrustServerCertificate kullanma
anahtar TrustServerCertificate sözcüğü bir SQL Server örneğine bağlanırken kullanılır.
TrustServerCertificate olarak ayarlandığında, true aktarım katmanı, kanalı şifrelemek için TLS/SSL kullanır ve güveni doğrulamak için sertifika zincirinden geçmeyi atlar.
- Microsoft.Data.SqlClient 2.0 öncesi sürümlerde,
EncryptFalseolarak ayarlandığında ve sunucu sertifikası doğrulanmadığında bu ayar yoksayılır. - Microsoft.Data.SqlClient'ın 2.0 sürümünden başlayarak, ayarlanmış
EncryptolsaFalsebile ayarı, sunucu şifrelemeyi zorladığında sertifika doğrulamasının gerçekleştirilip gerçekleştirilmeyeceğini denetler. - Microsoft.Data.SqlClient'ın 5.0 sürümünden itibaren,
EncryptayarıStrictolarak ayarlandığında bu ayar yoksayılır. Sunucu sertifikası her zaman moddaStrictdoğrulanır.
Daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulama.
"TrustServerCertificate=true;"
SertifikadakiHostAdı (HostNameInCertificate)
Microsoft.Data.SqlClient'ın 5.0 sürümünden itibaren HostNameInCertificate yeni bir bağlantı seçeneğidir. Sunucu sertifikası doğrulaması, sertifikadaki Ortak Ad (CN) veya Konu Diğer Adı'nın (SAN) bağlı olan sunucu adıyla eşleşmesini sağlar. DNS diğer adları gibi bazı durumlarda sunucu adı CN veya SAN ile eşleşmeyebilir. HostNameInCertificate değeri, sunucu sertifikasında farklı, beklenen bir CN veya SAN belirtmek için kullanılabilir.
"HostNameInCertificate=myserver.example.com"
ServerCertificate
Microsoft.Data.SqlClient'ın ServerCertificate 5.1 sürümünden başlayarak yeni bir bağlantı seçeneğidir.
ServerCertificate bağlantı ayarının varsayılan değeri boş bir dizedir.
Encrypt veya Mandatoryolarak ayarlandığındaStrict, ServerCertificate dosya sistemindeki bir yolu sunucunun TLS sertifikasıyla eşleşecek bir sertifika dosyasına belirtmek için kullanılabilir. Sertifikanın geçerli olması için, belirtilen sertifikanın tam olarak eşleşmesi gerekir. Kabul edilen sertifika biçimleri PEM, DER ve CER'tir. İşte bir örnek:
"Data Source=...;Encrypt=Strict;ServerCertificate=C:\certificates\server.cer"
Şifrelemeyi etkinleştirme
Sunucuda bir sertifika sağlanmamışsa şifrelemeyi etkinleştirmek için Güven Sunucusu Sertifikası bağlantı özelliği olarak Trueayarlanmalıdır. Bu durumda, sunucuda doğrulanabilir bir sertifika sağlanmadığından şifreleme doğrulama olmadan otomatik olarak imzalanan bir sunucu sertifikası kullanır.
Uygulama ayarları SQL Server'da yapılandırılan güvenlik düzeyini azaltamaz, ancak isteğe bağlı olarak güçlendirebilir. Bir uygulama, ve TrustServerCertificate anahtar sözcüklerini Encryptolarak ayarlayarak true şifreleme isteyebilir ve sunucu sertifikası sağlanmadığında bile şifrelemenin gerçekleştirildiğini garanti edebilir. Ancak, istemci yapılandırmasında etkinleştirilmemişse TrustServerCertificate , sağlanan bir sunucu sertifikası hala gereklidir.
Aşağıdaki tabloda tüm durumlar açıklanmaktadır.
| Bağlantı dizesini/özniteliğini şifreleme | Sunucu Sertifikası bağlantı dizesi/özniteliğine güven | Result |
|---|---|---|
| Hayır/İsteğe Bağlı | Ignored | Şifreleme gerçekleşmez. |
| Evet/Zorunlu | Hayı | Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur. |
| Evet/Zorunlu | Yes | Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir. |
| Katı1 | Ignored | Şifreleme her zaman gerçekleşir ve doğrulanabilir bir sunucu sertifikası kullanmalıdır, aksi takdirde bağlantı girişimi başarısız olur. |
1 Katı şifreleme yalnızca Microsoft.Data.SqlClient sürüm 5.0'dan başlayarak kullanılabilir.
Önceki sürümlerdeki davranışlar da dahil olmak üzere daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulama.
Ayrıca bakınız
Bağlantı dizeleri
Şifreleme ve sertifika doğrulaması
Veri kaynağına bağlanma
SQL Server için Microsoft ADO.NET