7
Ağustos
2010

SQL Server’ı Uzaktan Bağlantı İçin Ayarlamak

Microsoft SQL Server’a uzaktaki bir bilgisayardan bağlanmak için tek yapmanız gereken, SQL Server Manager’da makinenin adı, kullanıcı adı ve şifreyi girmek veya programdaki connection stringi değiştirmek gibi gelir insana… Hata mesajı verince anlarsanız o kadar basit olmadığını.

Bu yazı, SQL Server 2008 sürümünde uzaktan bağlantı ayarlarının nasıl yapıldığını anlatıyor.

SQL Server’ı TCP/IP Üzerinden Çalışmak Üzere Ayarlayalım

1. SQL Server Configuration Manager’i açın.

2. SQL Server Network Configuration / Protocols for MSSQLSERVER yaprağına gidin.

3. Sol tarafta, SQL Server’ın istemcilerle iletişim için kullandığı protokoller görünecektir. TCP/IP’ye çift tıklayarak ayar penceresini açın.

4. Protocol sekmesindeki Enabled ayarını Yes yaparak TCP/IP protokolü ile bağlantı kabul edilmesini aktif hale getirin.

5. Şimdi sunucunun hangi IP adresine/adreslerine gelen TCP/IP yanıtlarına cevap vereceğini belirlememiz gerekiyor. Varsayılan olarak (doğru tahmin, güvenlik sebebiyle) SQL Server hiçbir uzaktan bağlantıya yanıt vermez. İstediğiniz bağlantıları açmak için, IP Addresses sekmesine geçin.

6. Bu sekmede sunucunuzun o anda sahip olduğu tüm IP adresleri görünecektir. 127.0.0.1 gibi özel bağlantılar ve eğer birden fazla ağa bağlıysanız bu ağlar listede listelenecektir. Bu IP adreslerinin hangilerinden bağlantı kabul etmek isiyorsanız, bu IP adreslerinin ayarları içerisinde yer alan Enabled propertylerini Yes yapın. Örnekte SQL Server tüm sunucu IP’lerinden gelecek bağlantılara açık bir şekilde yapılandırılıyor.

Böyle bir ayar neden var?

Sunucunuzda iki ethernet kartı olduğunu düşünün. Birisi İnternet’e çıkıyor, diğeri IIS sunucusuna bağlı. İnternet’ten gelecek doğrudan veritabanı bağlantılarını kabul etmemek için dış IP’yi bağlantılara kapatmak, IIS sunucusu ile kurduğunuz ağdan ise veritabanı bağlantılarına izin vermek isteyebilirsiniz.

7. İstediğiniz IP’leri Enabled yaptıktan sonra OK ile pencereyi kapatın.

8. Değişikliklerin, sunucunun bir sonraki başlatımında aktif hale geleceğini bildiren kutucuğu OK ile kapatın.

9. Şimdi sunucuyu tekrar başlatmamız gerekiyor. Eğer maceracıysanız tüm sunucuyu yeniden başlatabilirsiniz. Yok kalsın diyorsanız, sadece SQL sunucu servisini yeniden başlatmak için SQL Server Configuration Manager’de SQL Server Services kısmına geçin.

10. SQL Server (INSTANCE ADI) isimli servise sağ tıklayın ve Restart’ı seçin. Bir süre sonra servis kapanıp tekrar açılacaktır.

Windows Firewall’ı Ayarlayalım

11. SQL Server kısmındaki ayarlamalar bitti. Şimdi gelen bağlantıları engellememesi için Windows Firewall’ın ayarlarını yapmamız lazım. Bunun için Windows Firewall’ı açın.

12. Sol taraftaki seçeneklerden Advanced Settings bağlantısını seçin.

13. Gelen pencerede sol taraftaki Inbound Rules seçeneğine tıklayın.

14. Actions kısmından New Rule…‘ye basın.

15. Rule Type aşamasında Port, Protocol and Ports kısmında TCP ve port numarası olarak 1433’ü seçin.

16. Action aşamasında Allow the connection diyerek, bu porttan gelen bağlantılara izin verin.

17. Profile aşamasında üç seneçeği de seçerek, gelen bağlantı nereden olursa olsun (yerel ağ, dışarıdan, vs…) bağlantıya izin vermesini sağlayalım.

18. Name aşamasında bu kurala bir isim vererek yapılandırmayı sonlandıralım.

19. Artık bağlanabilirsiniz. Eğer yetkileri doğru ayarladıysanız, bağlanmak için artık sadece sunucunun makine adına veya IP adresine ihtiyacınız var. Bu IP’ye 6. adımda izin vermiş olmalısınız ve bu IP ile sunucuya bağlanmak istediğiniz bilgisayar arasında bağlantı kurulabiliyor olmalı. Sunucuya bağlanmak istediğiniz bilgisayarda SQL Server Management Studio’yu açın.

20. Server kısmına bağlanacağınız bilgisayarın (yani ayarını yaptığınız sunucunun) makine adını veya IP adresini yazın. Daha önce sunucuda yetkilendirilmiş bir kullanıcı hesabı ile giriş yapın. (Bu örnekte sa ile giriş yapılmıştır.)

21. Bitti. :)

Ufak Notlar

  • Bu anlatım Windows 7 Professional üzerinde çalışan Windows Virtual PC üzerinde çalışan Windows 7 Ultimate üzerinde çalışan bir SQL Server 2008 sunucusu üzerinden yapılmıştır. Diğer sistemlerde ayarlar ufak da olsa farklılık gösterebilir.
  • Bu ayarlarda SQL Server’a kullanıcı hesabı eklemek anlatılmamıştır, hali hazırda bağlantıya hazır bir kullanıcı hesabınız olduğu varsayılmıştır.
  • Windows Firewall dışındaki ürünlerde TCP 1433 portundan gelen bağlantı isteklerine izin vermek üzere yapılandırma yapmalısınız. Port numarası 6. adımdaki ayar penceresinden değiştirilebilir.
  • Hala bağlantı kurulamıyorsa, bazı fiziksel ağ bileşenleri bu portu engelliyor olabilir. Benim gibi sanal bir makine üzerinde veya ağ altyapısını çok iyi bildiğiniz bir yerde veya cross kablo ile deneme yapmanızı öneririm.
  • Sunucunuza İnternet’ten bağlantı izni vermek ciddi bir güvenlik açığdır. Kiminle neyi paylaştığınıza, özellikle firewall ayarları esnasında çok dikkat ettin. Vallahi hiç acımazlar.
  • Bu yazıda SQL Browser servisi aracılığı ile SQL Server Management Studio’da ağdaki sunucuları görebilme özelliği anlatılmamıştır.
bu yazı 6.567 defa okundu

Site hoşunuza gitti mi? Belki arkadaşlarınızın da gider.

İstekli

Aaa Reklam

+ Yorumunuzu Ekleyin 10 yorum

  • SB 14 Aralık 2010 20.26

    teşekkür ederim umut, gerçekten işimize yaradı

  • Mehmet 28 Ocak 2011 10.04

    Umut bey, ellerine sağlık. İnan bu konuda bakmadığım yer kalmadı desem her halde abartmış olmam. Sql'i kaldırıp tekrar mı kurmadım. projedeki connectionstringle mi oynamadım. İnanır mısın bilgisayara format bile attım, gözden gaçırdığım bi şey olabilir diye…tekrar tekrar teşekkür ederim…

  • Yunus Emre KURT 06 Mart 2011 16.37

    Gerçekten Çok yararlı bir bilgi birçok araştırmadan sonra bu bilgiyi bulmak cok güzel elinize sağlık

  • kenan 30 Kasım 2011 14.46

    Faydalı bir yazı yazmışsınız bizim de buna benzer bir sorunumuz var bir yazılım yapıyoruz aynı ağda olmayan pclerin ana pcde bulunan servera bağlanması gerekiyor fakat yukarıda yaptığınız ayarları setup'ı kurarken otomatik, mümkünse kodla yaptırmamız gerekiyor sizin bir öneriniz, tecrübeniz var mı bu konuda?
    teşekkürler..

    • Umut 30 Kasım 2011 20.33

      yazıda anlatılan ayarlar sunucunun yüklü olduğu ana makinede yapılacak ayarlar. diğer makinelerde bir ayar yapılması gerekmiyor, connection string yeterli oluyor. Kurulumda yapmak derken, ana makinedeki sql server kurulumunda mı bunun otomatikleştirilmesinden bahsediyorsunuz?

      • kenan 29 Aralık 2011 14.51

        Evet perakende yazılımlar için kurulum yaparken örneğin firewall'a New Rule ekleme işleminin, TCP/IP protokolünü aktifleştirmenin bir şekilde kod ile yapılması gerekiyor,.

      • Umut 29 Aralık 2011 20.41

        Bilemiyorum.

  • hasan 30 Aralık 2011 12.49

    Teşekkürler çok işe yaradı

  • baran 29 Ocak 2012 12.50

    Merhaba,
    Cok guzel bir paylasim olmus tesekkurler.
    Benim bir kac sorum olacak yardim edebilirseniz sevinirim.
    Uzaktan baglantida sorun yasadigim icin adim adim gideyim dedim,
    Servername kismina
    BARAN-PC\SQLEXSPRESS yazinca baglanti basarili oluyor.
    localhost\SQLEXSPRESS yazinca baglanti basarili oluyor.
    127.0.0.1\SQLEXPRESS baglanti basarisiz.
    192.168.1.250\SQLEXPRESS baglanti basarisiz. (Bilgisayarin kendi ipsi)
    Yukardaki gibi tum IPlere izin verdim, neyi gozden kaciriyor olabilirim ?

    2. Bir soru ise IP leri enable ettigimiz ekranda uzak baglanicagim bilgisayarin direkt IP si cikmiyor, ben de hepsini enable ettim devam ettim. Cikmamasi normal mi ?

    Simdiden tesekkur ederim, bu is biraz basimi agritmaya basladi :) )

    • Umut 30 Ocak 2012 09.16

      Bağlantılar başarısız olduğunda gelen hata mesajları nelerdir?

Yorumunuzu Bırakın

Bu yazıya gönderilen yeni yorumları e-posta aracılığıyla bana bildir
Yeni gönderilenleri yorum yapmadan takip etmek için tıklayınız.

Yorumunuz başarıyla alındı. Onaylandıktan sonra yayımlanacaktır. Teşekkürler.

Twitler yükleniyor... 5 saniye sonra

Bıdı bıdı bıdı bıdı dıdı dıdı dudu dudu hıdı hıdı hödü hödü yüklüyoruz öhüm öhüm bıdı bıdı vs vs... 6 nanosaniye önce

Yüklenmenin geç olmasının sebebi ben değilim, Twitter API'sinin yavaş olması. Gudu gudu hıdı hödö büdü büdü... 25697 asır önce

Ha tabi bunları okumuşsan, bu sitenin çok gizli bir özelliğini bulmuşsun demektir. ;) Tebrikler. Bu "sürpiz yumurta"yı bulduğunu bana da haber verir misin? Tıkla! 6 dinazor önce

Geçen Yıllarda Bu Hafta

2011

Bunun Burada Ne İşi Var?

Bunun Burada Ne İşi Var?

Dün şehre inmek için Sayın Menderes Türel’in zamanında Hafif Metro ...

Windows 7’de Bilgisayarınızın Aldığı Puanı Değiştirin

Windows 7’de Bilgisayarınızın Aldığı Puanı Değiştirin

Biliyorsunuz Microsoft, Windows Vista’dan bu yana bilgisayarlar için bir performans ...

Dördüncü Sınıfın Birinci Döneminden Öğrenci Görüşleri

Dördüncü Sınıfın Birinci Döneminden Öğrenci Görüşleri

Dördüncü sınıfın yarısı bitti. Okuldan mezun olmak üzereyim. İyisiyle kötüsüyle bir ...

UBenzer’den Alın!

UBenzer’den Alın!

Ablam evdeki kullanılmayanları ayırmış, “Umut bunları sat.” dedi. Hazır elime ...

2009

Kısık Işık

Kısık Işık

Tavana asılmış tek beyaz floresan lambayı sevemedim bir türlü… “Ben ...

Antalya Toplu Taşıma Sisteminin Sorunları - 1

Antalya Toplu Taşıma Sisteminin Sorunları - 1

Antalya’da ulaşım bir ölüm. Trafik sıkışıklığı, haftada bir yönü değişen ...

2008

14 Şubat

14 Şubat

Biliyorsun bugün 14 Şubat. Daha iki gün öncesinden hazırdı zaten ...

Uyumadan Önce Son Boşluk

Uyumadan Önce Son Boşluk

Uykuya dalmadan önce düşünürüm… Kötü alışkanlıklarımdan biridir. Aklıma ne gelirse ......

NES Emulatörleri

NES Emulatörleri

Daha önceki şu iki yazımda (1.si, 2.si), çocukken bolca oynadığımız ...

Son Yorumlar