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.)
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.
SQL Server’ı Uzaktan Bağlantı İçin Ayarlamak 62 yorum aldı.
İp adresi listesini neye göre değiştirmemiz gerekli. Uzaktan baglanacağımız her nokta için ip adresimi ekleyeceğiz?.bu kısmı dogru anlamak istiyorum .çünkü sık sık restart etme lüksüm yok 🙂
Teşekkür ederim şimdiden.
Merhaba İsa, uzaktan tüm IP'ler ile bağlanmanın mutlaka bir yolu vardır ama yazı ve konu çok eski, maalesef hatırlamıyorum. Öte yandan bu ciddi bir güvenlik riski de oluşturabilir, dikkatli olmakta fayda var.
İyi akşamlar benımde bır problemım var. t-sql de:
create database exampledb2
on
(
name=exampledb2,
filename="c:\exampledb2.mdf,
size=5 mb,
maxsize=10 mb,
filegrowth=1 mb
)
şeklinde kodlamayı yaptığımda
Msg 5123, Level 16, State 1, Line 1
CREATE FILE encountered operating system error 5(Erişim engellendi.) while attempting to open or create the physical file 'c:\exampledb2.mdf'.
Msg 1802, Level 16, State 4, Line 1
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
bu hatayı veriyor.Çözümünü ne yaptıysam bulamadım.Yardımcı olursanız çok sevinirim saygılar…
Veritabanı yazılımının belirttiğiniz dosyaya erişim izni yok gibi görünüyor.
1. Disk sağlam mı?
2. Veritabanı yazımı o dosyaya erişime gerekli izne sahip mi?
3. Diskte yer var mı?
4. Başka bir yerde veritabanı dosyasını yaratmaya çalışınca da aynı problem yaşanıyor mu?
Bu sorulara cevap bularak araştırma alanınızı daraltabilirsiniz.
Hocam yazı için çok teşekkür ederim çok işime yaradı gerçekten. Baya uğraştım sorunu çözmek için sonunda yazınız derman oldu 🙂 Elinize sağlık
çoook teşekkür ederim o kadar faydalı bir yazı oldu ki benim için… Elinize yüreğinize bilginize sağlık 🙂
gercekten cok faydali oldu.Zira herseyi tas tamam yapama ragmen porta izin vermeyi unutmusum.
Harika müthiş bir paylaşım tamda aradığım şeydi azınıza sağlık
Hocam SqlServer Services de bende hiçbir şey çıkmadı sadece uzaktan işlem başarısız diye bir satır var başka bi liste yok ne yapmalıyım yeniledim o kısmı ama yine aynı sorunum çözülmedi yardım edermisiniz
192.168.2.24 sizde olan iip biz acaba bilgisayar da maç adresine göre mi bağlanacak
Elinize sağlık güzel paylaşım olmuş. Benim gibi başka ihtiyaç sahiplerine de umarım faydası olur
Kardeşim aklına ve eline sağlık beni büyük bir stresten kurtardın sayende diğer bilgisayarımdaki veritabanına sorunsuz bağlandım
Almanya’da nasıl ehliyet aldım?
‘de, da’ eki nasıl yazılır?
PSD (Photoshop) Dosyalarında Önizleme
Harici monitör parlaklığı klavye ile nasıl değiştirilir?
Almanya’da nasıl ehliyet aldım?
Bir şirket neden uzaktan çalışmaya (remote working) izin verir?
-de -da eki ne zaman ayrı yazılır?
Almanya’ya gelmek için yapılan bürokratik işlemler