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: SQL Server 2022 (16.x) ve sonraki sürümleri
Katı bağlantı şifrelemesi iyi güvenlik uygulamalarını zorunlu kılar ve SQL Server trafiğini standart ağ gereçleri tarafından yönetilebilir hale getirir. Katı şifreleme, uçtan uca şifreleme için TDS oturumunu Aktarım Katmanı Güvenliği'nde (TLS) sarmalayan Tablosal Veri Akışı (TDS) 8.0'ı kullanır.
Bu makalede, katı bağlantı türünü kullanarak SQL Server 2022 (16.x) ve sonraki sürümlere bağlanmayı öğrenin.
Önkoşul
- SQL Server 2022 (16.x) veya üzeri
- SQL Server için ODBC veya OLE DB Sürücüsü
- SQL Server sürüm 18.1.2.1 veya üzeri için ODBC Sürücüsü
- SQL Server sürüm 19.2.0 veya üzeri için OLE DB Sürücüsü
- SQL Server için aktarım katmanı güvenliği (TLS) sertifikası oluşturun ve yükleyin. Daha fazla bilgi için bkz . Veritabanı Altyapısına şifreli bağlantıları etkinleştirme
.NET uygulaması kullanarak SQL Server'a bağlanma
strict şifreleme türünü kullanarak SQL Server oluşturma ve SQL Server'a bağlanma hakkında bilgi için, bağlantı dizesini düzgün bir şekilde hazırlama ile ilgili olarak Bağlantı Dizesi Söz Dizimi bölümüne bakın. Yeni bağlantı dizesi özellikleri hakkında daha fazla bilgi için bkz. Bağlantı dizesi şifreleme özelliklerinde ek değişiklikler.
ODBC DSN kullanarak bağlanma
SQL Server'a ODBC DSN kullanarak bağlantı şifreleme türüyle Strict bağlantıyı test edebilirsiniz.
Windows'da ODBC Veri Kaynakları uygulamasını arayın.
ODBC Veri Kaynağı Yöneticisi'nin Sürücüler sekmesine bakarak en son ODBC sürücüsüne sahip olduğunuzdan emin olun.
Sistem DSN sekmesinde Ekle'yi seçerek DSN oluşturun. Ardından SQL Server için ODBC Sürücüsü 18'i seçin. Bitirseçin. Bağlantımızı test etmek için bunu kullanacağız.
SQL Server'a Yeni Veri Kaynağı Oluştur penceresinde, bu veri kaynağı için bir ad sağlayın ve SQL Server 2022 (16.x) sunucunuzun adını Sunucu'ya ekleyin. sonrakiseçin.
Bağlantı Şifrelemesi olan ekrana gelene kadar tüm ayarlar için tüm varsayılan değerleri kullanın. Katı seçin. Girdiğiniz sunucu adı sertifikadakinden farklıysa veya bunun yerine IP adresi kullanılıyorsa, sertifikadaki HostName değerini sertifikanızda kullanılan ad olarak ayarlayın. Bitirseçin.
ODBC Microsoft SQL Server Kurulumu iletişim kutusu açıldığında bağlantıyı test etmek için Veri Kaynağını Sına... düğmesini seçin. Bu, bu test için SQL Server bağlantısını zorunlu kılmalıdır
strict.
Evrensel Veri Bağlantısı kullanarak bağlanma
Evrensel Veri Bağlantısı (UDL) ile OLE DB Sürücüsünü kullanarak şifreleme ile strict SQL Server bağlantısını da test edebilirsiniz.
Bağlantınızı test etmek üzere bir UDL dosyası oluşturmak için masaüstünüzde sağ tıklayın ve YeniMetin Belgesi'ni> seçin. uzantısını
txtudlolarak değiştirmeniz gerekir. Dosyaya istediğiniz adı verebilirsiniz.Uyarı
Uzantıyı
txtyerineudlolarak değiştirebilmek için uzantı adını görebilmeniz gerekir. Uzantıyı göremiyorsanız, Dosya Gezgini>Görünümü>Dosya adı uzantılarını> açarak uzantıyı görüntülemeyi etkinleştirebilirsiniz.Oluşturduğunuz UDL dosyasını açın ve Sağlayıcı sekmesine giderek SQL Server için Microsoft OLE DB Sürücüsü 19'u seçin. İleri'yi >>seçin.
Bağlantı sekmesinde SQL Server sunucunuzun adını girin ve SQL Server'da oturum açmak için kullandığınız kimlik doğrulama yöntemini seçin.
Gelişmiş sekmesinde Bağlantı şifrelemesi için Katı'yı seçin. Girdiğiniz sunucu adı sertifikadakinden farklıysa veya bunun yerine IP adresi kullanılıyorsa, sertifikadaki Ana bilgisayar adını sertifikanızda kullanılan ad olarak ayarlayın. İşiniz bittiğinde Bağlantı sekmesine geri dönün.
Bağlantıyı bağlantı şifrelemesiyle test etmek için Bağlantıyı Test Et'i
strictseçin.
SSMS ile bağlanma
Sürüm 20'den başlayarak, Sunucuya Bağlan iletişim kutusunun Oturum Açma Bilgilerisekmesindeki SQL Server Management Studio'da (SSMS) katı şifreleme uygulayabilirsiniz:
Always On kullanılabilirlik grubuna bağlanma
SQL Server 2025 (17.x) ile başlayarak, Strict veya Mandatory bağlantı şifreleme türünü kullanarak Windows Server Yük Devretme Kümesi ile Always On kullanılabilirlik grubu replika arasındaki iletişimi şifreleyebilirsiniz. Kullanılabilirlik grubunuz yalnızca bir Windows Server Yük Devretme Kümesine dayalıysa şifrelemeyi zorunlu kılabilir. Diğer kullanılabilirlik grubu türleri katı şifrelemeyi desteklemez.
Uyarı
Veritabanı yansıtma uç noktaları için şifreleme ayrı olarak yapılandırılır ve TLS desteklenmez. Daha fazla bilgi için bkz. Kullanılabilirlik gruplarında aktarım güvenliği ve veritabanı yansıtma.
Adımlar, kullanılabilirliğinizin mevcut olup olmamasına bağlı olarak farklılık gösterir.
Yeni bir kullanılabilirlik grubuna katı şifrelemeyi zorlamak için şu adımları izleyin:
- Henüz yapmadıysanız, sertifika gereksinimleri tarafından tanımlandığı gibi TLS sertifikasını kullanılabilirlik grubunun her çoğaltmasına aktarın. Sertifikayı içeri aktardıktan sonra her SQL Server örneğini yeniden başlatın.
- Bu makalede belirtilen ve şifrelemeyi zorunlu kılan yöntemlerden birini kullanarak her SQL Server replikasına yaptığınız bağlantıları test edin.
-
CREATE AVAILABILITY GROUP
Encryptözelliği kullanılabilirlik grubunun yan tümcesindeStrictolarak ayarlanırCLUSTER_CONNECTION_OPTIONS. Bu, kullanılabilirlik grubuna yapılan tüm bağlantıların belirtilen şifreleme türünü kullanmasını sağlar. - Kullanılabilirlik grubu şu anda çevrimiçiyse, yeni şifreleme ayarlarını kullanılabilirlik grubuna uygulamak için kullanılabilirlik grubunu ikincil çoğaltmaya devredin. Kullanılabilirlik grubu çevrimiçi duruma gelmezse, bunun nedeni
ClusterConnectionOptionsöğesinin doğru ayarlanmamış olması olabilir. Kümenin SQL Server çoğaltmasına bağlanamamasıyla ilgili ODBC hataları için cluster.log denetleyin. İsteğe bağlı olarak, yeni ikincil çoğaltma çevrimiçi olduktan ve kullanılabilirlik grubuna bağlandıktan sonra kullanılabilirlik grubunu özgün birincil çoğaltmaya geri döndürebilirsiniz. - (İsteğe bağlı) Her çoğaltma için bağlantı protokolünde şifrelemeyi daha da zorlamak için SQL Server Yapılandırma Yöneticisi özelliklerinde
Yesseçeneğini olarak ayarlayabilirsiniz. Bu ayar, kullanılabilirlik grubu çoğaltmalarına yönelik tüm bağlantıların katı şifreleme kullanmasını sağlar. Bu ayarı değiştirdikten sonra her SQL Server çoğaltmasını yeniden başlatın.
Yük devretme kümesi örneğine bağlanma
SQL Server 2025 (17.x) ile başlayarak, veya Strict bağlantı şifreleme türünü kullanarak Windows Server Yük Devretme Kümeniz ile bir Mandatory arasındaki iletişimi şifreleyebilirsiniz. Bunu yapmak için şu adımları izleyin:
- Henüz yapmadıysanız TLS sertifikasınısertifika gereksinimleriyle tanımlandığı gibi yük devretme kümesinin her düğümüne aktarın. Sertifikayı içeri aktardıktan sonra SQL Server örneğini yeniden başlatın.
- Şifrelemeyi zorunlu kılan bu makalede belirtilen yöntemlerden birini kullanarak yük devretme kümesi örneğine yönelik bağlantıları test edin.
-
ALTER SERVER CONFIGURATION
CLUSTER_CONNECTION_OPTIONSyan tümcesiyle,EncryptözelliğiniMandatoryveyaStrictolarak ayarlamak için. Bu, yük devretme kümesi örneğine yapılan tüm bağlantıların belirtilen şifreleme türünü kullanmasını sağlar. - Yeni şifreleme ayarlarını yük devretme kümesi örneğine uygulamak için örneği ikincil düğüme devredin. Yük devretme kümesi örneği çevrimiçi duruma gelemezse, bunun nedeni
ClusterConnectionOptionsöğesinin doğru ayarlanmamış olması olabilir. Kümenin SQL Server örneğine bağlanamamasıyla ilgili ODBC hataları için cluster.log denetleyin. İsteğe bağlı olarak, yeni ikincil düğüm çevrimiçi olduktan ve yük devretme kümesi örneğine bağlandıktan sonra örneği özgün birincil düğüme geri döndürebilirsiniz. - (İsteğe bağlı) Kümedeki her düğüm için bağlantı protokolü için SQL Server Yapılandırma Yöneticisi özelliklerinde
YesZorla seçeneğini ayarlayarak şifrelemeyi daha da zorlayabilirsiniz. Bu ayar, yük devretme kümesi örneğine yapılan tüm bağlantıların katı şifreleme kullanmasını sağlar. İkincil düğümde bu değişikliği yapın, örneğin yükünü ona devredin ve ardından değişikliği birincil düğümde yapın.
SQL Server Agent bağlantı şifrelemesi
SQL Server 2025 (17.x) ile başlayarak SQL Server Agent, TDS 8.0 ve TLS 1.3'i destekleyen SQL Server için Microsoft ODBC Sürücüsü 18'i kullanır. SQL Server Agent, bağlantı şifrelemesini SQL Server örneğinin yapılandırıldığı şekilde otomatik olarak ayarlar.
SQL Server Agent şifrelemeyi nasıl belirler?
SQL Server Agent başlatıldığında, SQL Server için yapılandırılan şifreleme düzeyini belirlemek üzere yerel makinede aşağıdaki kayıt defteri anahtarlarını sorgular:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryptionHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName(SQL Server 2025 (17.x) sürümünde yeni eklendi)
Bu değerlere bağlı olarak SQL Server Agent bağlantı modunu seçer:
-
Sıkı Şifrelemeyi Zorla etkinleştirilirse, SQL Server Agent
strict(TDS 8.0) kullanarak bağlanır. -
Şifrelemeyi Zorla etkinleştirildiyse SQL Server Agent,
mandatory(TDS 7.x) kullanarak bağlanır. - Hiçbiri etkin değilse, SQL Server Agent,
optional(TDS 7.x) kullanarak bağlanır.
Yerel T-SQL iş adımları, SQL Server Agent hizmetiyle aynı şifreleme yapılandırmasını devralır. SQL Server Agent ile strictbağlanırsa, sunucuda yerel olarak çalışan T-SQL işleri aynı seçeneği kullanır.
Important
TLS 1.3 yalnızca katı şifreleme ile çalışır. SQL Server örneğinde işletim sistemi düzeyinde yalnızca TLS 1.3 etkinleştirilmişse ancak yalnızca Zorla Şifreleme ayarlanmışsa (Katı Şifrelemeye Zorlama değil), ve mandatory modları TLS 1.3 ile uyumlu olmayan TDS 7.x gerektirdiğinden optional SQL Server Agent başlatılamaz.
TLS ve şifreleme yapılandırma matrisi
| TLS sürümü etkin | Yapılandırma ayarı | SQL Server Agent sonucu | Notlar |
|---|---|---|---|
| Yalnızca TLS 1.3 | Katı Şifrelemeyi Zorla | Başarıyla bağlanır | TDS 8.0 katı şifreleme kullanır |
| Yalnızca TLS 1.3 | Şifrelemeyi Zorla | Bağlanılamıyor | TLS 1.3 katı olmasını gerektirir |
| Yalnızca TLS 1.3 | Hiçbiri | Bağlanılamıyor | TLS 1.3 katı şifreleme gerektirir |
| Yalnızca TLS 1.2 | Katı Şifrelemeyi Zorla | Başarıyla bağlanır | TDS 8.0 TLS 1.2 kullanabilir |
| Yalnızca TLS 1.2 | Şifrelemeyi Zorla | Başarıyla bağlanır | TDS 7.x zorunlu |
| Yalnızca TLS 1.2 | Hiçbiri | Başarıyla bağlanır | İsteğe bağlı TDS 7.x |
| TLS 1.2 ve TLS 1.3 | Katı Şifrelemeyi Zorla | Başarıyla bağlanır | TDS 8.0 katı şifreleme kullanır |
| TLS 1.2 ve TLS 1.3 | Şifrelemeyi Zorla | Başarıyla bağlanır | TDS 7.x zorunlu |
| TLS 1.2 ve TLS 1.3 | Hiçbiri | Başarıyla bağlanır | İsteğe bağlı TDS 7.x |
SQL Server Agent'nin anlaşmalı şifrelemesini doğrulama
SQL Server Agent bağlandıktan sonra şifreleme modunu onaylamak için aşağıdaki sorguyu çalıştırın:
SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';
SQL Server Agent şifreleme kullanılarak bağlandığında encrypt_option sütunu TRUE değerini döndürür.
SQL Server Agent genel bakış için bkz. SQL Server Agent.
SQL Server Yapılandırma Yöneticisi ile katı şifrelemeye zorlama
SQL Server 2022 (16.x) ile başlayarak SQL Server Yapılandırma Yöneticisi'ı kullanarak katı şifreleme uygulayabilirsiniz. Bunu yapmak için şu adımları izleyin:
SQL Server Yapılandırma Yöneticisi'i açın.
Sol bölmede SQL Server Ağ Yapılandırması'nı genişletin ve [InstanceName] protokolleri'ni seçin.
TCP/IP'ye sağ tıklayın ve Özellikler'i seçin.
TCP/IP Özellikleri iletişim kutusunda Bayraklar sekmesine gidin ve Katı Şifrelemeye Zorla seçeneği için Evet'i seçin:
Değişiklikleri uygulamak için bakım penceresi sırasında SQL Server örneğini yeniden başlatın.
Açıklamalar
Eğer SSL certificate validation failed görürseniz, şunları doğrulayın:
- Sunucu sertifikası test için kullandığınız makinede geçerlidir
- Aşağıdakilerden en az biri doğrudur:
- Sağlayıcı SQL Server CA adıyla veya sertifikadaki DNS adlarından biriyle eşleşir.
-
HostNameInCertificatebağlantı dizesi özelliği CA adıyla veya sertifikadaki DNS adlarından biriyle eşleşir.