SQL Server Network Interface Nedir?

SQL Server Network Interface katmanı, istemci ile sunucu arasında ağ trafiğini yönetir. SQL Server Configuration Manager aracılığı ile hangi protokolleri kullanabileceğini ve yapılandırmasını sağlayabiliriz. SQL Server Network Interface dört protokolden oluşmaktadır;

  • TCP/IP
  • Shared Memory
  • Named Pipes
  • Virtual Interface Adapter (VIA)

TCP/IP

En çok kullanılan ağ protokolüdür. SQL Server sunucusuna IP adresi üzerinden erişime izin veren protokoldür. Varsayılan olarak 1433 portunu kullanır.  Güvenlik açısından varsayılan port numarasının değiştirilmesi tavsiye edilir.

Shared Memory

SQL Server ve istemcilerin aynı makine üzerinde olduğu durumlarda otomatik olarak kullanılır. Basit ve hızlı olan bu protokolün yapılandırma özelliği bulunmamaktadır.

Named Pipes

SQL Server sunucusu ile istemcilerinin aynı yerel ağ (Local Area Network) üzerinde olduğu durumda kullanılır. SQL Server Alias tanımlanarak yerel ağ dışından da erişim yapılmasına imkan sağlar. TCP 445 portunu kullanan bu protokol yavaş çalışabileceği için kullanılması tavsiye edilmemektedir.

Virtual Interface Adapter (VIA)

En yüksek performans sağlayan bu protokoldür.

SQL Server Network Interface istemciden gelen istekleri Tabular Data Stream (TDS) isimli bir pakete dönüştürülerek ağ üzerinden sunucuya gönderilir. Tabular Data Stream istemci ile veritabanı sunucusu arasında veri aktarımı için kullanılan uygulama katmanı protokolüdür. Sunucu üzerinde TDS paketlerini dinleyen endpoint‘ler mevcuttur. Her network protokolüne özgü bir TDS endpoint mevcuttur.

SQL Server üzerinde endpoint açmak için;

[sql]

ALTER ENDPOINT [TSQL DEFAULT TCP] STATE=STARTED

[/sql]

SQL Server üzerinde endpoint kapatmak için;

[sql]
ALTER ENDPOINT [TSQL DEFAULT TCP] STATE=STOPPED
[/sql]

SQL Server endpoint listesine ulaşmak için;
enpoint
Listedeki Dedicated Admin Connection isimli endpoint detayı için tıklayınız.

Not: SQL Server’da bir endpoint kapatılması yeni bağlantıları engelleyecektir. Mevcut bağlantılar kapatılmayacaktır.

Tabular Data Stream paketlerinin varsayılan boyutu 4096 Byte olup istemci tarafından bu boyut değiştirilebilir. Paket boyutu istemci tarafında SQL Server’a bağlantı kurulacak connection_string üzerinden belirtilebileceği gibi SQL Server üzerinden de varsayılan ayar değiştirilebilir.

paket_boyutu_0

paket_boyutu

İstemci tarafında paket boyutunu değiştirmek için örnek connection string;

Data Source=SERVERNAME;Initial Catalog=DBNAME;User Id=USERNAME;Password=SIFRE;Packet Size=12288;

Not: Eğer uygulamanız büyük miktarlarda veri gönderiyorsa ağ paket boyutunun arttırırması  ağ üzerinden performans kazancı sağlayacaktır.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.