Merhaba Arkadaşlar;
Öncelikle SQL SERVER 2008 ile gelen yeniliklerden ,Veri Tiplerini mercek altına alacağız. " Filestream, Geometry, Geography, Date, Time, Datetime2, Datetimeoffset, Hierarchyid ve Blob " gibi veri tipleri yeniliklerin başındadır.Bu tiplerden şuan için işimize yarayacakların bazılarını inceleyelim.
Time:
DECLARE @Zaman TIME --(Time(5) şeklinde kullanım sonucunda salise 5 haneli olur.)
Set@Zaman=GETDATE()
SELECT @Zaman
Sonuç ; 00:37:34.2330000 (time(?) hassaslık vermediğimiz için salise 7 haneli olur.)
DataTime2
@Tarih DATETIME2
SET @ Tarih =GETDATE() --Yine Salise 7 haneli gelir.Tanımlamada bunu değiştirebiliriz.Örn:DateTime(3)
SELECT @ Tarih -- Sonuç :2008-03-16 03:26:02.8330000
DateTimeOffSet Tarih Alanımızda tarih ve saat dilimini saklayabilirz. Kullanım örneği..
SETCAST(2008-01-22 10:48:27.1234567 +2:00 AS DATETIMEOFFSET(7))
Evet Arkadaşlar veri tiplerine kısaca değindik şimdi diğer yeniliklerle devam edelim..
Management Studio:
SQL Server'ın yönetim aracı olan Management Studio'da artık intellisense desteği var. Örneğin bir sql cümlesi yazarken Management Studio tablo içerisindeki alanları karşımıza getiriyor. Ayrıca SQL Server 2000'den bildiğimiz bir tablo üzerinde sağ tuşa tıkladığımız zaman açılan menüye SELECT TOP 1000 ve EDIT TOP 1000 seçenekleri eklenmiş.
Veri Denetimi (Data Auditing):
SQL Server 2008 de dilediğimiz takdirde veriler üzerinde yapılan değişikleri takip edebiliyoruz.Ayrıca yapılan takibi bi tabloya aktarabiliyoruz.Standartda bu özellik pasif,fakat kullanmak istediğimiz zaman açmak gerekiyor.
SQL Server 2008 ile beraber, denetim standartları belirlenerek, denetim log’larının log dosyalarında Windows Application log’larında veya Windows Security log’larında tutulması sağlanabilir.
Uygulama Geliştiricileri için
SQL Server 2008 ve .Net’in etkin birlikteliğiyle artık daha hızlı ve daha kolay şekilde uygulamalar geliştirmemiz de mümkün. Bu konudaki yeniliklerden en üstte olanı elbette LINQ. Peki, nedir LINQ? LINQ(Language Integrated Query), .Net Framework 3.5 ile ortaya çıkan bir Microsoft .Net Framework bileşenidir. LINQ sayesinde insanlar, çoğu yazılımcı için bile karmaşık gelebilecek veri katmanı ile SQL’e benzeyen .Net dillerindeki sözdizimi(syntax) aracılığıyla bağlantı kurup işlerini daha kolay halledebilmektedirler.
Veri Koruma Sistemi
Transparent Data Encryption - Veritabanının data ve log dosyalarını disk üzerinde şifreler ve okumak için hafızaya bu verileri aldığında deşifre yapar.
ALTER DATABASE VeritabaniAdi SET ENCRYPTION [ON OFF] Şeklinde Şifreleme yapabilir yada kaldırabiliriz.
* Data Protection(Veri Koruma) Sayesinde istediğizmiz kişiye backup veya restore yetkisi verebiliriz.
Reporting Services:
SQL Server'ın raporlama servisinde tablo ve matrix raporlar birleştirilerek tablix adında yeni bir rapor biçimi oluşturulmuş. Ayrıca SQL Server 2005'de hazırladığımız bir raporu yayınlamak için IIS gerekirken SQL Server 2008'de bu zorunluluk ortadan kaldırılmış.
Merge Deyimi:
SQL 2008 ile gelen özelliklerden biride Merge deyimi,Merge duruma göre Insert yada Update yapılmasını sağlıyor. Yani prosedürümüz içerisinde Merge ve Matched deyimlerini kullanarak kaydı bulabiliyorsak güncelleme bulamıyorsak kayıt ekleme yapabiliyoruz. Örnek:
MERGE INTO KayitTakip
USING Kayit ON s.KayitID = h.KayitID
WHEN MATCHED THEN UPDATE SET h.Adet = s.Adet
WHEN NOT MATCHED THEN INSERT (KayitID, Adet)
VALUES (s.KayitID, s.Adet)