SQL Server Yapısı

Eyl 06, 2013

İstemci ve sunucuların ayrı ayrı tabakalandırılmış bir haberleşme yapısı vardır. İstemci makinesinde Application, Database Interface, Network Library; sunucu makinesinde ise SQL Server, Open Database Services, Network Library şeklinde tabakaları vardır.

  • Application: API(Application Programming Interface) kullanarak bir uygulama tabakası oluşturur ki, bu tabakanın sunucu ile bağlantısı konusunda protokollerle ve ağla ilgili bir bilgisi yoktur.
  • Database Interface: SQL Server'a bir istek gitmesini ve o isteğe karşılık gelen cevabın döndürülmesini sağlayan bir arabirimdir.
  • Network Library: SQL Server'a giden isteği ve ondan gelen cevabı  içeren bilginin bir protokol vasıtasıyla paketlenerek ulaştırılması gereken yere ulaşmasını sağlar. Bu protokoller; TCP/IP, Named Pipes, Novell IPX/SPX, Banyan VINES/IP ve AppleTalk ADSP'dirler.Sunucu ile istemci makinelerinin en az 1 tane ortak Network Library'leri olmalıdır ki, haberleşmeleri düzgün bir biçimde sağlanabilsin.
  • Open Data Services: İstemci makinesinden gelen isteğin sunucuya gelmesini ve oluşan cevabın sunucudan istemciye gitmesini sağlayan bir  SQL Server yazılım bileşenidir. Sunucu ve istemci makineleri arasında haberleşmeyi sağlayan TDS (Tabular Data Stream) "application-level-layer" protokolü vardır.

Uygulama Geliştirme: 

SQL Server'da iki tür API kullanılır:OLE DB ve ODBC. 

  • OLE DB: COM (Component Object Model) tabanlı bir bilgi erişim arabirimidir. SQL Server'da bilgilere, ilgili veritabanlarına ve kaynaklara erişebilir.
  • ODBC: Bir "call level interface" 'dir. TDS protokolüne erişerek ODBC ile yazılmış olan uygulamaları ve bileşenleri destekler. SQL Server'da bilgilere, ilgili veritabanlarına erişebilir.

Yönetim:  

SQL Server'ı yönetmek için osql ve bcp gibi yığın araçları, Enterprise Manager gibi grafik yönetici araçları ve Visual Basic gibi uygulamalar kullanılır.

  • SQL DMO(Distributed Management Objects): Transact SQL komutlarını saklar ve yöneticilerin komut dosyası (script) yazmaları için gayet kullanışlıdır.
  • SQL Server Agent:  Aşağıdaki bileşenlerden oluşur:
    • Alert Management: Yapılan bir işle ilgili (örneğin bir hata ya da bitirilen bir işin sonucu) bilgi sağlar.
    • Notification: Bir alarm oluştuğunda SQL Server'ın e-posta göndermesini ya da yeni bir uygulama alanı oluşturulmasını sağlar.
    • Job Execution
    • Replication Management: "Replikation" bir SQL Server'dan başka bir SQL Server'a bilginin kopyalanmasıdır. Bu işin en iyi şekilde yapılmasından, sunucular arası iletişimden ve bilginin aktarımından SQL Server Agent sorumludur.