Makale Özeti

SQL Server 2005 ile ilgili sıkça karşılaştığım soruları ve beta sürümlerinde gördüğüm yenilik ve farklılıkları Sıkça Sorulan Sorular sorular şeklinde inceleyelim

Makale

SQL Server 2005 Genel FAQ's

   SQL Server 2005 ile ilgili sıkça karşılaştığım soruları ve beta sürümlerinde gördüğüm yenilik ve farklılıkları Sıkça Sorulan Sorular sorular şeklinde topladım. Birlikte inceleyelim.

1) Yukon (SQL Server 2005) nedir?

    Yukon, 2004  yılı ortalarında piyasaya sürülmesi beklenen, sürümü bir hayli geciken, fakat "beklemeye değmiş" dedirten Microsoft SQL Server'ın en son sürümüdür. İlk olarak 2003 yılında, LosAngles'ta PDC de açıklanmış ve o zamandan itibaren büyük ilgi çeken bir proje olmuştur. Kendisinden bir önceki versiyon olan SQL Server 2000 ile gelen tüm araçların yenilenip genişletilerek bir çok özellikler içeren, performans, yönetim ve kullanım açısından oldukça başarılı bir ürün halini almıştır.

2) Yukon'u ilginç ve farklı kılan nedir?

    Yukon da öne çıkan en önemli özelliklerden biri .NET dilleri ile entegrasyonudur. CLR (Common Language Runtime) desteği olarak bahsedilen entegrasyon biz yazılım geliştiricilere çok büyük avantajlar sağlamaktadır. Artık, VB.NET ve ya C# ile stored procedure, trigger, function vs... yazabilirsiniz.

    Service Brooker olarak adlandırılan asenkron çalışma modeli ise, SQL Server 2005'e çok farklı bir güç katmaktadır.

3) Yeni ne var?

     Çok basit bir şekilde bakarsak :

        - CLR entegrasyonu

        - SQL Server Management Objects (eski adı ve teknolojisi ile SQL-DMO)

        - Service Brooker

        - Reporting Services

       - Notification Services

4) CLR entegrasyonu bize ne sağlar?

    Yazılım geliştiriciler olarak artık database tarafında yapıcağımız işlemler için T-SQL ve ya .NET dillerinden herhangi birini seçme şansına sahibiz. Dolayısıyla, artık uygulamamızın gerektirdiği modelin ne olduğunu, database tarafında ne kadar iş lojiği olması gerektiği gibi konulara odaklanmamız daha kolay bir hal almış oldu. Örneğin dataya erişim ve data üzerindeki değişiklikler için eski, alıştığımız T-SQL'i kullanırken, karışık hesaplamalar, T-SQL ile imlementasyonu zor olan işleri de .NET dilleri üzerinden çözebiliriz.

    CLR ortamımda yazacağımız için managed-code ortamının tüm güvenlik ve uygunluk avantajlarından yararlanacağız. Bu sayede .NET database nesnelerini, SQL Sever 2000'deki extended stored procedure mantığına benzer bir şekilde fakat daha güvende çalıştırmış olacağız.

    Object Oriented olan programlama ortamının database de taşınmasıyla, dizaynlarımızda daha iyi sonuçlar elde edebiliriz.

    Yapılan işlemin durumuna göre, T-SQL ve ya .NET objelerinin çalışma performansları değişiklik gösterecektir. Performanslı olanı seçme şansına sahibiz.

    Kullanıcı tanımlı tipler (user defined types) ve Kullanıcı tanımlı agregationlar (user defined aggregates) ile datanın saklanma ve sorgulama yeteneklerini arttırabiliriz.

5) Peki, Yukonun tabanında çalışan database motoru (db engine) yetersiz mi kalıyor ki CLR entegrasyonu geldi?

    Evet. DB engine yetersiz kaldığı için CLR entegrasyonu geldi. Fakat bu açığa kavuşması gereken önemli bir konudur. Hiçbir database motoru iş lojiği işlemleri için dizayn edilmez, sadece data erişimi, manuplasyonu ve güvenliği için özelleşmiştir ve bunların dışındaki işlemlerde performans kaybına sebeb olur. Elbette, tüm işlemlerimizi T-SQL ile db-engine üzerinde yapabiliriz. Ama performans ve kolay implementasyon için artık seçimimiz var.

6) SQL Server Management Objects nedir?

    SMO, Yukon için tasarlanmış yeni obje modelidir. SQL Server 2000 den bildiğimiz SQL Server Distributed Management Objects (SQL-DMO) performans olarak geliştirilmiş ve Yukon için uyarlanmıştır. SQL Server 2005'in izlenmesi, kontrol edilmesi ve yönetimi için programatik olarak kullanılacak araçlar, aynı zamanda WMI üzerindeki performas değerlendirmeleri vb. değerler için de özelleşmiştir.

7) Service Broker nedir?

    SQL Service Broker, Yukon ile gelen yepyeni bir uygulama frameworküdür. En önemli özelliği, SQL serverın dahili ve harici bir çok işlemini asenkron kullanıma / programlamaya imkan sağlamasıdır. Bu SQL Servera çok daha fazla yüklenebileceğimiz anlamına gelir ki, bu bir çok zaman işimizi hızlandıracaktır. Service Broker, message queue sistemini baz alarak çalışır ve dağıtık uygulama componentlerini kullaranak queryleri ve sonuçlarını alıp gönderir. Transactionlar, servis broker tarafından da yönetilebilir yani, rollback ve commit işlermleri, servis broker tarafından, çalıştırdığı sorgulara bağlı olarak yapıllabilir.

8) Reporting Services nedir?

    Reporting Services, tamamiyle server tarafında çalışan ve raporların yönetimi ve dağıtımı için kullanılan bir teknolojidir. Aslında SQL Server 2000'e de sonradan bir eklenti olarak kurulabilen reporting services, Yukon'un içinde yeni ve çok daha gelişmiş bir versiyon olarak bulunmaktadır.

    Visual Studio içerisinde dizayn edilen, iş analizleri ile ilgili bir çok araç içerebilen raporlar, servera deploy edildikten sonra bir çok formatta alınabilir. Örneğin: pdf, csv, TIFF, mht ve html.

    Tüm rapor bilgisi bir xml dokumanı olarak saklanır. Bu da, raporun değiştirilmesini, yenilenmesini oldukça kolay bir hale getirir.

9) Notification Services nedir?

    Notification services, kullanıcılara, data değişikliklerini baz alarak uyarılar gönderebileceğimiz frameworktur. Bir uyarı, bir çok yoldan ilgili kullanıcıya gönderilebilinir. Örneğin bir e-mail, SMS, text mesaj ve ya bir html sayfa olarak üretilebilir. Üretilen uyarılar, kulanıcılara göre kişiselleştirilebilir ve kullanıcının tanımladığı kanaldan kendisine iletilir.

    SQL Server 2000'de de Notification Services 2.0 olarak sonradan yüklenebilen NS, Yukon'da daha gelişmiş ve güçlü bir yapıya ulaşmıştır.

10) Database Engine de neler değişti?

    - DB motorunun .NET ortamında çalışması T-SQL'e bir çok yeni komut eklenmesini sağladı. Bu yeni komutların bir kısmı CLR entegrasyonunu sağlatlen bir kısmı da direct bu entegrasyon sayesinde gelişen yapıalr oldu. Örneğin CREATE ASSEMBLY, .NET assemblylerin dbye yüklemek ve register etmek için kullanılan  anahter sözcüklerden biridir. Bazı sözçükler ise yapısal olarak değiştirilmiştir. CREATE PROCEDURE anahtar sözcüğü bir kaç parametre eklenerek, CLR destekli prosedürler yaratmak için kullanılabilir.

    - XML, data tiplerine eklenen yeni bir tür olarak karşımızda. Hepimizin bildigi gibi, xml bir text datası ve elbette, TEXT ve ya VARCHAR alanlarda saklanabilir. Fakat burada gelen asıl yenilik, db engine üzerinde, xml data tipini XQUERY kullanarak direct olarak sorgulayabilmemizdir.

    - TRY ve CATCH yapıları, T-SQL e eklenen, ve hata yönetimi için kullanabileceğimiz yeni yapılardır. Bu sayede "structured error handling" yapısını tam anlamıyla SQL Server tarafında da kullanabileceğiz.

    - DDL Triggerları, Yukonla gelen yeni yapılardan biridir. Önceden tanıdığımız, FOR/AFTER/INSTEADOF triggerların yanı sıra, DDL komutlarının çalışmasını yakalayan ve tetiklenen CREATE,ALTER ve DROP triggerları da artık kullanılabilir.

11) DTS te yeni neler var?

    DTS, (data transformation services) te yeni o kadar çok şey var ki, Microsoft bu teknolojinin adını değiştirerek "Integration Services" ismiyle lanse ediyor. Integration Services, DTS gibi, enterprise manager içinde değil, Visual Studio içerisinde bir proje şeması olarak karşımıza çıkıyor.  DTS gibi, Integration Services te bir çok kaynaktan, bi çok kaynağa data aktarımını çok detaylı bir proje haline getiriyor. Data aktarımını adım adım trace edebilmemize, bunu belirlenen zaman aralıklarında yapabilmemize, beklenmeyen durumların notification services üzerinden  raporlanması, iletilmesini başarıyla gerçekleştiriyor. Bir Visual Studio projesi olduğu için, Source Safe, Team System  ve ya başka source kontrol araçları üzerinden yönetilebilir.

12) XML Desteği nedir?

    XML, bir text datasıdır ve SQL Server da elbette varchar ve ya text tipinde saklanabilir. Peki öyleyse, yeni gelen XML tipi nedir? text datalarından farklı olarak, XML tipindeki bir kolon, XQUERY ile sorgulanabilir. Bir xml şeması ile tanımlanabilen kolon, constraint tanimlamalarına, insert ve update gibi manupulasyon işlemlerini gerçekleştirebilecek bir yapıya sahiptir. Database de tam olarak saklanan tipi ise BLOB (binary large object) tir. XQUERY yazımını kolaylaştırmak için, yukon, XQUERY dizaynerı da sunmaktadır.

13) ADO.NET te yeni ne var?

    ADO.NET te bu değişime uyum sağlamak için pek çok yenilik yapıldı. CLR stored procedureleri destekleyen datasetler, nullable tipler, vb.. bir çok yenilik eklenmiştir.  ADO.NET 2.0 için daha geniş bilgiye, ADO.NET kategorisinden erişebilirsiniz.

 

Kivanc OZUOLMEZ