SQL Server'ı TCP-IP Üzerinden Uzaktan Erişim Açma, Güvenlik Ayarı
SQL Server Uzaktan Bağlantı (Remote Connection) Ayarları Nasıl Yapılır?
Microsoft SQL Server, kurumsal uygulamalarda en yaygın kullanılan ilişkisel veritabanı yönetim sistemlerinden biridir. Varsayılan kurulum sonrasında güvenlik nedeniyle yalnızca yerel bağlantılara izin verir. Farklı bir bilgisayardan, uygulama sunucusundan veya SQL Server Management Studio (SSMS) üzerinden veritabanına erişmek istiyorsanız uzaktan bağlantı (Remote Connection) ayarlarının yapılandırılması gerekir.
Bu makalede SQL Server'da uzaktan bağlantının nasıl etkinleştirileceğini, TCP/IP protokolünün neden gerekli olduğunu, Windows Güvenlik Duvarı yapılandırmasını ve bağlantı sırasında dikkat edilmesi gereken güvenlik önerilerini adım adım inceleyeceğiz. Makaledeki bilgiler SQL Server 2014 başta olmak üzere SQL Server 2016, 2017, 2019, 2022 ve daha yeni sürümler için de büyük ölçüde geçerlidir.
SQL Server Uzaktan Bağlantı Nedir?
SQL Server uzaktan bağlantı, veritabanı sunucusuna aynı bilgisayar yerine farklı bir bilgisayardan veya farklı bir sunucudan erişilebilmesini sağlayan yapılandırmadır. Bu sayede geliştiriciler, sistem yöneticileri ve uygulamalar fiziksel olarak sunucu üzerinde bulunmadan veritabanı işlemlerini gerçekleştirebilir.
Varsayılan kurulum sonrasında SQL Server güvenlik amacıyla dış bağlantıları kabul etmez. Bu nedenle yalnızca kullanıcı adı ve parola oluşturmak yeterli değildir. Sunucunun ağ üzerinden bağlantı kabul edecek şekilde yapılandırılması gerekir.
Uzaktan bağlantının çalışabilmesi için hem SQL Server yapılandırmasının hem de işletim sistemi güvenlik ayarlarının doğru şekilde yapılandırılması gerekmektedir.
Uzaktan Bağlantı Hangi Durumlarda Gereklidir?
SQL Server uzaktan erişimi birçok farklı senaryoda kullanılmaktadır.
- Başka bir sunucuda çalışan web uygulamalarının veritabanına bağlanması
- SQL Server Management Studio ile farklı bilgisayardan yönetim yapılması
- Yazılım firmalarının uzaktan bakım ve destek sağlaması
- Kurumsal ağ içerisinde merkezi veritabanı kullanımı
- ERP, CRM ve muhasebe uygulamalarının farklı istemcilerden bağlanması
Özellikle çok katmanlı yazılım mimarilerinde uygulama sunucusu ile veritabanı sunucusu farklı sistemlerde bulunduğundan uzaktan bağlantı yapılandırması zorunlu hale gelir.
Yapılandırmaya Başlamadan Önce
SQL Server üzerinde herhangi bir değişiklik yapmadan önce aşağıdaki ön koşulların sağlanması önerilir.
- SQL Server servisinin çalışıyor olması
- Sunucuya yönetici (Administrator) yetkisiyle erişilebilmesi
- SQL Server Authentication veya Windows Authentication yapılandırmasının hazır olması
- Bağlantı kuracak kullanıcı hesabının oluşturulmuş olması
- Sunucu ile istemci arasında ağ iletişiminin bulunması
İnternet üzerinden erişime açılacak SQL Server sunucularında yalnızca gerekli IP adreslerine bağlantı izni verilmesi önerilir. Tüm dünyaya açık bırakılan veritabanı sunucuları güvenlik açısından ciddi risk oluşturabilir.
Makalede Neler Öğreneceksiniz?
Bu rehber boyunca aşağıdaki yapılandırmaları ayrıntılı olarak ele alacağız:
- SQL Server'da TCP/IP protokolünü etkinleştirme
- 1433 numaralı portun yapılandırılması
- SQL Server servisinin yeniden başlatılması
- Windows Defender Firewall ayarlarının yapılması
- Uzaktan bağlantının test edilmesi
- Sık karşılaşılan bağlantı hatalarının çözümü
- SQL Server güvenliği için önerilen en iyi uygulamalar
SQL Server'da uzaktan bağlantının sorunsuz çalışabilmesi için yalnızca kullanıcı oluşturmak yeterli değildir. Ağ protokolleri, güvenlik duvarı kuralları ve SQL Server servis yapılandırmasının birlikte doğru şekilde yapılandırılması gerekir.
SQL Server'da TCP/IP Protokolünü Etkinleştirme
SQL Server'ın ağ üzerinden istemcilerle iletişim kurabilmesi için TCP/IP protokolünün etkin olması gerekir. Varsayılan kurulumlarda bu özellik güvenlik amacıyla devre dışı bırakılmış olabilir. Uzaktan bağlantı kurulabilmesi için ilk olarak SQL Server'ın TCP/IP üzerinden bağlantı kabul edecek şekilde yapılandırılması gerekmektedir.
Bu işlem SQL Server Configuration Manager üzerinden gerçekleştirilir. Configuration Manager, SQL Server servislerini, ağ protokollerini ve istemci bağlantı ayarlarını merkezi olarak yönetmeye yarayan resmi yönetim aracıdır.
SQL Server Management Studio (SSMS) veritabanı yönetimi için kullanılırken, ağ protokollerinin etkinleştirilmesi SQL Server Configuration Manager üzerinden yapılmaktadır.
SQL Server Network Configuration
Configuration Manager açıldıktan sonra SQL Server Network Configuration bölümüne geçilir. Bu bölüm, SQL Server örneğinin (Instance) kullanacağı ağ protokollerini yönetmek için kullanılır.
Sunucuda yalnızca varsayılan kurulum bulunuyorsa genellikle Protocols for MSSQLSERVER bölümü görüntülenir. Named Instance kullanılan sunucularda ise ilgili örnek adı listelenir.
Bu bölümde SQL Server'ın desteklediği ağ protokolleri yer alır. En yaygın kullanılanlar şunlardır:
- Shared Memory
- Named Pipes
- TCP/IP
- VIA (eski sürümlerde)
Uzak istemcilerin bağlanabilmesi için TCP/IP protokolünün etkin durumda olması gerekir.
TCP/IP Özelliğini Etkinleştirme
Protocols bölümünde bulunan TCP/IP seçeneğinin özellikleri açılarak Enabled değeri Yes olarak ayarlanmalıdır.
Bu işlem tamamlandıktan sonra SQL Server artık TCP/IP üzerinden bağlantı kabul etmeye hazır hale gelir. Ancak yapılan değişikliklerin aktif olabilmesi için SQL Server servisinin yeniden başlatılması gerekir.
TCP/IP etkinleştirildikten sonra SQL Server servisi yeniden başlatılmadan yapılan değişiklikler uygulanmaz.
TCP Port Yapılandırması
TCP/IP ayarları içerisinde her ağ arabirimi (IP Address) için ayrı yapılandırmalar bulunur. SQL Server bu bölümde hangi IP adreslerinden bağlantı kabul edeceğini ve hangi port üzerinden hizmet vereceğini belirler.
SQL Server'ın varsayılan haberleşme portu 1433/TCP'dir. Uzak istemcilerin büyük çoğunluğu bu port üzerinden bağlantı kurar.
Bazı kurulumlarda Dynamic Ports özelliği etkin olabilir. Bu durumda SQL Server her yeniden başlatıldığında farklı bir port numarası kullanabilir.
Kurumsal ortamlarda bağlantı yönetimini kolaylaştırmak için Dynamic Port yerine sabit (Static) TCP Port kullanılması tavsiye edilir.
Static Port Kullanmanın Avantajları
Sabit port kullanımı hem istemci yapılandırmasını kolaylaştırır hem de güvenlik duvarı kurallarının daha düzenli yönetilmesini sağlar.
- İstemci bağlantıları daha kolay yapılandırılır.
- Firewall kuralları değişmeden kullanılabilir.
- Bağlantı sorunlarının tespit edilmesi kolaylaşır.
- Sunucu yeniden başlatıldığında port numarası değişmez.
Bir Sonraki Adım
TCP/IP protokolü etkinleştirildikten sonra sıradaki işlem Windows Defender Firewall üzerinde gerekli portların açılması ve SQL Server servisinin yeniden başlatılmasıdır. Bir sonraki bölümde güvenlik duvarı yapılandırması, 1433 portunun açılması ve uzaktan bağlantının test edilmesi ayrıntılı olarak ele alınacaktır.
Uzaktan bağlantı sorunlarının büyük bölümü TCP/IP protokolünün devre dışı olması veya yanlış port yapılandırılmasından kaynaklanmaktadır. Bu nedenle sonraki adıma geçmeden önce TCP/IP ayarlarının doğru yapılandırıldığını kontrol etmeniz önerilir.
Windows Defender Firewall Yapılandırması
SQL Server üzerinde TCP/IP protokolünü etkinleştirmek tek başına uzaktan bağlantı kurulması için yeterli değildir. İşletim sistemi seviyesinde çalışan Windows Defender Firewall, varsayılan olarak dışarıdan gelen bağlantıları engelleyebilir. Bu nedenle SQL Server'ın kullandığı portlara izin verilmesi gerekir.
En yaygın kullanılan SQL Server portu TCP 1433'tür. Eğer SQL Server varsayılan (Default Instance) olarak kurulmuş ve statik port kullanıyorsa, güvenlik duvarında bu porta gelen bağlantılara izin verilmelidir.
Named Instance kullanılan veya Dynamic Port yapılandırılmış sunucularda farklı portlar kullanılabilir. Böyle durumlarda güvenlik duvarı kuralları kullanılan port numarasına göre oluşturulmalıdır.
1433 TCP Portuna İzin Verme
Windows Defender Firewall üzerinde yeni bir Inbound Rule (Gelen Kural) oluşturularak SQL Server'ın kullandığı TCP portuna erişim izni verilir.
Genel olarak uygulanması gereken yapılandırma aşağıdaki gibidir:
- Kural Türü (Rule Type): Port
- Protokol: TCP
- Port Numarası: 1433
- İzin Türü: Allow the Connection
- Profil: Domain, Private ve Public (ihtiyaca göre)
Kural oluşturulduktan sonra Windows artık SQL Server bağlantı isteklerini engellemeyecektir.
Sunucunuz internete açık ise mümkün olduğunca yalnızca belirli IP adreslerine bağlantı izni vermeniz önerilir. 1433 portunun tüm dünyaya açık bırakılması güvenlik açısından risk oluşturabilir.
Bulut Sunucular ve Ağ Güvenliği
SQL Server bir VDS, Bulut Sunucu veya fiziksel sunucu üzerinde çalışıyorsa yalnızca Windows Firewall ayarları yeterli olmayabilir. Sunucu sağlayıcısının kullandığı güvenlik duvarı (Security Group), Cloud Firewall veya ağ filtreleme sistemlerinde de ilgili portun açık olduğundan emin olunmalıdır.
Bazı veri merkezlerinde gelen bağlantılar ağ seviyesinde filtrelendiğinden Windows Firewall doğru yapılandırılmış olsa bile bağlantı kurulamayabilir.
SQL Server Servisini Yeniden Başlatma
TCP/IP yapılandırmasında yapılan değişikliklerin uygulanabilmesi için SQL Server servisinin yeniden başlatılması gerekir.
Bu işlem SQL Server Configuration Manager veya Windows Services yönetim konsolu üzerinden güvenli bir şekilde gerçekleştirilebilir.
Servis yeniden başlatıldığında yeni ağ ayarları aktif hale gelir ve SQL Server belirlenen TCP portu üzerinden bağlantı kabul etmeye başlar.
Tüm sunucuyu yeniden başlatmanıza gerek yoktur. Çoğu durumda yalnızca ilgili SQL Server servisinin yeniden başlatılması yeterlidir.
Uzaktan Bağlantıyı Test Etme
Yapılandırma tamamlandıktan sonra bağlantının başarılı olup olmadığını test etmek gerekir. Bunun için farklı bir bilgisayardan SQL Server Management Studio (SSMS) açılarak bağlantı kurulabilir.
Bağlantı kurulurken aşağıdaki bilgiler kullanılır:
- Sunucunun IP adresi veya Hostname'i
- SQL Server Instance adı (varsa)
- Authentication yöntemi
- SQL Server kullanıcı adı
- Parola
Örneğin varsayılan kurulumlarda aşağıdaki bağlantı biçimleri kullanılabilir:
Bağlantı başarılı olduğunda SQL Server üzerindeki veritabanları görüntülenebilir ve kullanıcı yetkileri doğrultusunda işlemler gerçekleştirilebilir.
Bağlantı kurulmadan önce istemci bilgisayardan sunucuya ağ erişiminin bulunduğunu doğrulamak için IP adresinin erişilebilir olduğundan ve ilgili TCP portunun dış bağlantılara açık olduğundan emin olun.
Bir Sonraki Adım
Son bölümde SQL Server uzaktan bağlantılarında en sık karşılaşılan hata mesajları, bu hataların çözüm yöntemleri, güvenlik önerileri ve sistem yöneticileri için uygulanabilecek en iyi uygulamalar ele alınacaktır.
Sık Karşılaşılan Bağlantı Hataları ve Çözüm Yöntemleri
SQL Server uzaktan bağlantı ayarları doğru yapılandırılmış olsa bile ağ, güvenlik veya kullanıcı yetkilendirmelerinden kaynaklanan çeşitli bağlantı hatalarıyla karşılaşabilirsiniz. Sorunun kaynağını doğru tespit etmek, çözüm sürecini önemli ölçüde hızlandıracaktır.
Error 26 – Error Locating Server/Instance Specified
Bu hata genellikle SQL Server örneğinin bulunamadığını gösterir. Sunucu adı yanlış yazılmış olabilir, SQL Browser servisi çalışmıyor olabilir veya istemci yanlış Instance adına bağlanmaya çalışıyor olabilir.
Böyle bir durumda sunucu adı, Instance bilgisi ve ağ bağlantısı yeniden kontrol edilmelidir.
Error 40 – Could Not Open a Connection to SQL Server
SQL Server servisinin çalışmaması, TCP/IP protokolünün etkin olmaması veya Windows Güvenlik Duvarı'nın bağlantıyı engellemesi bu hatanın en yaygın nedenleridir.
Öncelikle SQL Server servisinin çalıştığı, TCP/IP'nin etkin olduğu ve 1433 numaralı portun erişime açık olduğu doğrulanmalıdır.
Login Failed for User
Kullanıcı adı veya parola hatalı olduğunda ya da ilgili Login hesabının SQL Server üzerinde gerekli yetkilere sahip olmaması durumunda bu hata alınır.
SQL Authentication kullanılıyorsa kullanıcı adı ve parola doğrulanmalı, Windows Authentication kullanılıyorsa ilgili kullanıcı hesabının yetkilendirildiğinden emin olunmalıdır.
Connection Timeout
Bağlantı zaman aşımı hataları çoğunlukla ağ erişimi, yönlendirme (routing), güvenlik duvarı veya servis erişim problemlerinden kaynaklanmaktadır.
Sunucu ile istemci arasında ağ bağlantısı bulunduğu doğrulanmalı ve kullanılan portun herhangi bir güvenlik cihazı tarafından engellenmediği kontrol edilmelidir.
Bağlantı sorunlarının büyük bölümü SQL Server kaynaklı değil, ağ yapılandırması veya güvenlik duvarı ayarlarından kaynaklanmaktadır.
SQL Server Güvenliği İçin Öneriler
SQL Server uzaktan erişime açıldığında güvenlik önlemlerinin eksiksiz uygulanması büyük önem taşır. Yanlış yapılandırılmış bir veritabanı sunucusu yetkisiz erişim girişimlerine açık hale gelebilir.
Daha güvenli bir SQL Server ortamı oluşturmak için aşağıdaki öneriler uygulanabilir:
- 1433 numaralı portu mümkün olduğunca yalnızca belirli IP adreslerine açın.
- Güçlü ve karmaşık parolalar kullanın.
- Varsayılan sa hesabını sürekli kullanmak yerine yeni yönetici hesapları oluşturun.
- Kullanılmayan Login hesaplarını devre dışı bırakın veya silin.
- SQL Server ve Windows güncellemelerini düzenli olarak uygulayın.
- Veritabanı yedeklerini düzenli olarak alın.
- SQL Server günlüklerini (Logs) belirli aralıklarla inceleyin.
Kurumsal ortamlarda SQL Server erişimlerinin VPN veya güvenli ağ tünelleri üzerinden gerçekleştirilmesi, doğrudan internet erişimine göre çok daha güvenli bir yöntemdir.
Özet Komutlar
Bu makaledeki işlemler SQL Server Configuration Manager, Windows Defender Firewall ve SQL Server Management Studio arayüzleri üzerinden gerçekleştirildiğinden komut satırında çalıştırılması gereken bir komut bulunmamaktadır.
Sonuç
SQL Server uzaktan bağlantı yapılandırması; TCP/IP protokolünün etkinleştirilmesi, doğru port yapılandırması, güvenlik duvarı izinleri ve kullanıcı yetkilendirmelerinin birlikte doğru şekilde uygulanmasını gerektirir. Tüm adımlar eksiksiz tamamlandığında SQL Server'a farklı bilgisayarlar veya uygulama sunucuları üzerinden güvenli bir şekilde erişilebilir.
Uzaktan bağlantı yapılandırmasını tamamladıktan sonra yalnızca bağlantının çalışmasını değil, aynı zamanda erişim yetkilerini ve güvenlik ayarlarını da düzenli olarak kontrol etmeniz önerilir.
İSİMKAYIT Yardım Merkezi
Bu makalede Microsoft SQL Server'da uzaktan bağlantının etkinleştirilmesi, TCP/IP yapılandırması, Windows Defender Firewall ayarları, bağlantı testleri ve güvenlik önerileri ayrıntılı olarak ele alınmıştır. SQL Server kurulumu, kullanıcı yönetimi, veritabanı güvenliği ve sistem yönetimi hakkında daha fazla teknik içerik için İSİMKAYIT Yardım Merkezi'ndeki diğer makaleleri inceleyebilirsiniz.
Bu makale yardımcı olmadı mı? Destek ekibimizle iletişime geçin veya 0850 290 3344 numaralı hattı arayın.