Hoþgeldiniz           
   
"SQL Server baþvuru kaynaðýnýz"
Skip Navigation Links
=========
Anasayfa
Makaleler
Hatalar \ Çözümler
Duyurular
Diðer
Ýpuçlarý
Yararlý Adresler
Mesaj TahtasýExpand Mesaj Tahtasý
HakkýmdaExpand Hakkýmda
Ýletiþim
Kullanýcý Adý:
Þifre:
 

Ne Mutlu Türküm Diyene!

SQL Server ile ilgili soru sormak için buraya týklayýn!


Yazýlarýmý nasýl buluyorunuz?






En Son SQL Server ile Ýlgili Okuduðum Kitaplar
- Inside Microsoft SQL Server 2005: Query Tuning and Optimization - MS Press (Ýngilizce)
- Accelerated SQL Server 2008 - Apress (Ýngilizce)
- Designing and Optimizing Data Access by Using SQL Server 2005 - MS Press (Ýngilizce)
- Microsoft SQL Server 2005 Database Solutions Design - Wiley Publishing (Ýngilizce)- Optimizing and Maintaining a Database Administration Solution by Using SQL Server 2005 - MS Press (Ýngilizce)- Designing a Database Server Infrastructure Using SQL Server 2005 - MS Press (Ýngilizce)- SQL Server 2005 Implementation and Maintenance - MS Press (Ýngilizce)
- SQL Server 2005 Administrators Companion - MS Press (Ýngilizce)


          
"SQL Server 2005: Baðlantý Protokolleri" 

Son güncelleme tarihi: 02 Mayýs 2008



Merhaba arkadaþlar,


Bir SQL Server veritabaný motoruna baðlanabilmeniz için, en az bir SQL Server protokolü kullanýlabilir durumda olmalýdýr. SQL Server' da, ayný anda birden fazla protokol kullanýlabilir; ama istemciler SQL Server' a tek bir protokolü kullanarak baðlanýrlar. Eðer istemcinin kullandýðý program, SQL Server' ýn hangi protokolü dinlediðini bilmiyorsa, o zaman çözüm olarak istemcinin sýrayla deðiþik protokolleri denemesini saðlayabilirsiniz. SQL Server protokollerini kullanýlabilir ve kullanýlamaz yapmak için SQL Server Configuration Manager' ý kullanabilirsiniz. Ayný zamanda SQL Server 2005' te, SQL Server Surface Area Configuration aracýný da kullanabilirsiniz. SQL Server 2005' te 4 adet protokol bulunmaktadýr.

Bunlar: Shared Memory, TCP\IP, Named Pipes ve VIA protokolleridir. Size ilk önce bu protokollerden tek tek bahsedeceðim, son olarak da Named Pipes ve TCP\IP protokollerinin hangi þartlarda kullanýlabileceðine dair genel bir öneride bulunacaðým.



Shared Memory

Bu protokol en sade ve herhangi bir ayarý olmayan protokoldür. Bu protokolü, istemcilerinizin SQL Server' ýnýz ile baðlantý kurup bilgi alýþ-veriþi yaptýðý bir ortamda kullanamazsýnýz. Daha ziyade, testler için veya diðer protokollerde sorun yaþadýðýnýzý düþündüðünüzde ve SQL Server' ýnýza baðlanmanýz gerektiðinde kullanabilirsiniz. Varsayýlan olarak tüm SQL Server sürümlerinde kullanýlabilir olarak gelen bir protokoldür.

Kullanýmý iptal edilmediði sürece, SQL Server' ýn üzerinde bulunduðunu sunucuya, o sunucudayken baðlanmak istediðinizde sistemin ilk deneyeceði protokol Shared Memory protokolüdür.


TCP\IP

TCP\IP, geniþ çaplý olarak kullanýlan bir protokoldür. Bu protokülü kullanarak, birbirine baðlý aðlar arasý bilgisayarlar ile baðlantý kurmanýz mümkündür. Birçok donaným tarafýndan desteklenen bir protokoldür. TCP\IP, að yönlendirme trafiði standartlarýný ve geliþmiþ güvenlik özelliklerini içerir. Bugünün piyasasýnda en çok kullanýlan ve kabul gören protokoldür. TCP\IP protokolü, SQL Server 2005' in Express ve Developer Edition' ýnda varsayýlan olarak kullanýlamaz halde gelir. SQL Server 2005 Express Edition veya Developer Edition kurup, istemcilerinden SQL Server sunucularýna baðlanmaya çalýþýp baðlanamayan bir çok kullanýcý görüyorum her gün. Bu nedenle, bu yazýda bu noktayý da belirtmek istedim. Her protokol, her SQL Server sürümünde varsayýlan olarak kullanýlabilir veya kullanýlamaz deðildir. Her sürümde varsayýlan ayarlar deðiþiyor.

Meselâ uygulamanýzdan SQL Server' ýnýza bu protokolü kullanarak baðlanmak istediðinizi varsayalým. Ýlk örneðimde bir varsayýlan SQL Server portunu kullanarak (ki varsayýlan port 1433' tür) bir Default Instance' a baðlandýðýnýzý varsayacaðým ve bu örneðe uygun bir Baðlantý Cümlesi (Connection String) yazacaðým:

Örnek 1:
"Server = EKREM-PC; Database = Veritabanim; Integrated Security = Yes"

Eðer SQL Server Instance' ýnýz bir Named Instance ise ve farzedelim Instance adý "Yonetim" ve port numarasý olarak da 10897 kullanýlýyorsa, o zaman aþaðýdaki Baðlantý Cümlesi kullanýlabilir:

Örnek 2:
"Server = EKREM-PC\Yonetim, 10897; Database = Veritabanim; Integrated Security = Yes"

"Server" adý olarak IP de kullanabilirdiniz. O zaman da port numarasýný virgül ile ayýrarak yazmanýz gerekirdi. Port numarasýný kullanmak performans açýsýndan daha yararlýdýr. Aksi takdirde standart port numarasý kullanýlmadýðý için, ilk önce Browser Servisi ile haberleþilmesi gerekirdi. Çünkü dinamik port kullanan SQL Server Instance' larýnýn port numralarýnýn alýnabilmesi için istemci ilk önce Browser Servisiyle 1434UDP portundan haberleþir ve haberleþmek istediði SQL Server Insatnce' ýnýn port numarasýný alýr ve bu bilgiye göre baðlantý kurar.


Named Pipes

Named Pipes LAN (Local Area Network)' lar için geliþtirilmiþ bir protokoldür. Hafýzanýn bir bölümü bir iþlem tarafýndan veriyi diðer iþleme aktarmak için kullanýlýr, bu sayede bir iþlemin çýktýsý, diðerinin girdisi olur. Ýkinci iþlem yerel (Ýlk olduðu için ayný bilgisayarda) veya uzaktan (aðdaki bir bilgisayardan) olabilir.


Named Pipe protokolünü kullanarak SQL Server' ýnýza baðlanmak için aþaðýdaki Baðlantý Cümlesini kullanabilirsiniz (Default Instance için varsayýlan deðerler gözönüne alýnarak yazýyorum):

Örnek 1:
\\.\pipe\sql\query


"." deðeri, baðlantýnýn yerel bir baðlantý olduðunu gösteriyor. "pipe" deðeri, baðlantýnýn bir Named Pipe baðlantýsý olduðunu, "sql\query" deðeri ise Pipe' ýn adýný gösteriyor.

Bir Named Instance için ise aþaðýdaki Named Pipe adresi kullanýlabilir:

Örnek 2:
 \\<bilgisayar_adý>\pipe\MSSQL$<Instance_adý>\sql\query.

SQL Server, iletiþim için 445 numaralý portu kullanýr. Bu nedenle Windows Güvenlik Duvarýnda bu portun izinli olmasýna dikkat edin.


VIA

VIA (Virtual Interface Adapter) protokolü VIA donanýmýyla birlikte çalýþýr. VIA hakkýnda daha fazla bilgi için, size VIA donanýmýný satan firma ile baðlantý kurmalýsýnýz.


Pratik olarak Named Pipes mý yoksa TCP\IP mi?

TCP\IP, LAN, WAN ya da Çevirmeli Að (Dial-up) gibi yavaþ að baðlantýlarýnda tercih edilebilir, Named Pipes ise hýzýn sorun olmadýðý að baðlantýlarýnda daha iyi bir iþlevsellik sunar, kullanýmý ve yapýlandýrmasý daha kolaydýr.

Hangisinin size daha uygun olduðunu anlamak için uygulanabilecek en iyi yöntem testtir. Ýki protokolü de ortamýnýzda test etmenizi tavsiye ederim. Hangisinden daha çok performans alýrsanýz, onu tercih edin.


Bir Protokolün Kullanýmý

Uygulamanýzýn kullanmasý için seçtiðiniz SQL Server protokolünün çalýþabilmesi için, seçtiðiniz protokolün sunucu tarafýnda da, istemci tarafýnda da kullanýlabilir ve etkin olmasý gerekmektedir. Sunucu ayný anda birden çok protokolü dinleyebilir. Ýstemciler ise daha önceden de deðindiðim gibi sadece bir tane protokolden sunucuya baðlanabilirler.


Ekrem Önsoy

Kaynak:
http://msdn.microsoft.com/en-us/library/ms187892.aspx

Anasayfa


 
Bu sitenin tüm haklarý, Ekrem Önsoy' a aittir.