Makale Özeti

Bu makalede SQL Express’in yerel bilgisayar dışından gelecek bağlantıları kabul edecek şekilde konfigure edilmesini açıklıyor olacağız.

Makale

SQL Server Express edition’da networking protokolleri varsayılan olarak kapalı gelmektedir. Bu nedenle Express’in kurulumu sırasında varsayılan seçeneklerle kurulum gerçekleştirdiyseniz kurulum sonrasında Express, yerel bilgisayar dışından gelecek bağlantı taleplerini desteklemeyecektir. Dokumanın devamında yerel bilgisayar dışından gelecek bağlantı taleplerinin karşılanması için gerekli işlemleri adım adım açıklıyor olacağız.

Adım 1: TCP/IP’nin Aktif Hale Getirilmesi

İlk olarak SQL Express’in TCP/IP protokolünü dinlemesini söylemeliyiz. Bunun için;

-         Microsoft SQL Server CTP menüsünden SQL Server Configuration Manager’ı açıyoruz.

-         Protocols for SQLEXPRESS nodunu tıklıyoruz.

-         TCP/IP’yi sağ tıklayarak Enable komutunu veriyoruz.

Adım 2: SQL Browser Servisi?

İkinci adımda SQL Browser servisini çalıştırıp çalıştırmayacağımızı belirliyoruz. Bu servisi çalıştırıyor olmamızın iyi tarafı, uzaktan bağlanan kullanıcıların bağlantı satırında port numarası belirtmelerine ihtiyaç kalmaması. (Not: SQL Browser servisi, bir udp portunun dinlenmesi gereğini ortadan kaldırarak güvenlik açısından risk oluşturduğundan bu servisin çalıştırılmaması önerilir.)

> Seçenek A

Eğer kullanıcıların bağlantı sırasında port numarasını belirtmesini istiyorsak (yani SQL Browser servisini çalıştırmıyorsak) aşağıdaki adımları izleyin.

-         Microsoft SQL Server 2005 CTP menüsünden SQL Server Configuration Manager’ı çalıştırın.

-         Protocols for SQLEXPRESS nodunu tıklayın.

-         TCP/IP alt nodunu tıklayın.

-         Sağ panelde IPALL bölümünü göreceksiniz, bu bölümü sağ tuşla tıklayıp açılan menüden Properties komutunu tıklayın.

-         “TCP Dynamic Ports” alanını seçili ise seçimi kaldırın, seçili değilse olduğu gibi bırakın.

-         Uzak bağlantılarda kullanılmasını istediğiniz TCP port numarasını belirtin. Bu örnekte 1927 numaralı portu kullanacağız.

-         Bu aşamada SQL Server Express servisini yeniden başlatmanız gerekiyor. Restart sonrasında SQL Express yerel makina dışından gelecek bağlantı taleplerini karşılamaya başlayacaktır.  Bağlantıyı denemek için SQLCMD komutunu farklı bir makinadan deneyebiliriz;

SQLCMD –E –S SunucuAdi\SQLEXPRESS,1927

Yukarıdaki ifadede kullanılan virgül, ”,” SQLCMD uygulamasına ağlantıda kullanılacak port numarasını bildireceğimiz anlamına geliyor.

Bunları yaptığınız halde halen bağlantıda sorun yaşıyorsanız Adım 3’e göz atmanızı öneriyorum.

> Seçenek B

Eğer SQL Browser servisini kullanmak istiyorsanız aşağıdaki adımları uygulayın;

Not:
April CTP veya daha önceki versiyonları kullanıyorsanız Registry üzerinde bazı değişiklikler yapmanız gerekecektir.

SQLBrowser servisini 1434 numaralı port üzerinde aktif hale getirmek için aşağıdaki registry anahtarının değeri 1 olarak belirtilmelidir.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\SQL Browser\Srsplistener

Registry anahtarının değerini 1 olarak değiştirdikten sonra sqlbrowser servisini yeniden başlatmanız gerekmektedir.

-         SQL Browser Servisini başlatın 

Adım 3: Firewall
Bu noktaya geldiğinizde yerel bilgisayar dışından gelecek taleplerin karşılanıyor olması gerekir ancak SQL Express’in çalıştığı bilgisayarda aktif halde olan bir firewall’dan kaynaklanan bağlantı sorunları yaşıyor olabilirsiniz. Aşağıdaki adımlar Windows XP SP2 ile gelen firewall’ın SQL Express trafiğine izin verecek şekilde konfigure edilmesini sağlayacaktır.

-         Denetim masasından Windows Firewall konfigurasyon aracını çalıştırın.

-         Exceptions sekmesini açın

-         “Add Programs” ı tıklayın ve açılan diyaloğu kullanarak SQL Server Express’in kurulum klasöründe yer alan “sqlservr.exe” dosyasını seçin.
 

Bu noktadan sonra uzak bağlantılarda herhangi bir sıkıntı yaşanmaması gerekiyor.

Not: Eğer SQL Browser servisini kullanıyorsanız Exceptions listesine UDP 1434 portunu dinlediğinden dolayı SQL Browser uygulama dosyasınıda eklemeniz gerekmektedir.