BEN GEÇERKEN… [A Blog by İBRAHİM DEMİR ]

İbrahim Demir ‘in Resmi Web Sitesi
Subscribe

Archive for the ‘SQL SERVER’

SQL SERVER 2005 ‘DE FILLFACTOR KAVRAMI

July 18, 2007 By: İbrahim DEMİR Category: BİLGİSAYAR MÜHENDİSLİĞİ, DATABASE, MERCEK ALTI, MICROSOFT, NEDİR?, SQL SERVER No Comments →

sqlserver.jpgBlogumdaki SQL Server 2005 ile ilgili önceki yazılarımda SQL Server Storage Engine ‘in biraz sorunlu olduÄŸundan bahsetmiÅŸtim. Hal böyle olunca verilerimizi SQL Server üzerinde tutarken daha da dikkatli olmamız gerekiyor. Ben de bu konuda dikkat etmeniz gereken noktalardan bir kaçına deÄŸinmeye karar verdim.

SQL Server verileri diskten EXTENT dediğimiz formatta okur ve yazar . (the smallest unit of data that SQL Server can allocate is 64 KB) Extent ise bünyesinde 8 tane Page barındırır. Windows işletim sistemi ortamında 8*Page_Size=64K eder (İşletim Sistemleri dersini alan arkdaşların kulaklarını da çınlatmış olduk) ki bu da diskten bir defada okunabilecek veri boyutuna denk gelir.

Fillfactor kavramı ise verilerin page üzerinde ne kadarlık bir alanı kaplayacağını belirler. Yani veritabanı yönetim sisteminiz bir page ‘in ne kadarlık kısmını (yüzde olarak 1..100 aralığında) dolduracak ne kadarlık kısmını boÅŸ bırakacak bunu belirleyen parametredir. Fillfactor deÄŸeri index oluÅŸturulurken veya rebuild edilirken karar verilen bir deÄŸerdir. Mesela indeks oluÅŸtururken 70 ‘lik bir fillfactor deÄŸeri belirlediÄŸinizde page üzerinde yüzde 30 ‘luk bir alan sonradan eklenecek veriler için ayrılmış olacaktır. Burada dikkat edilmesi gereken en önemli nokta fillfactor deÄŸerini 100 vermek ile 0 (sıfır) vermek arasında bir fark olmadığıdır. Fillfactor deÄŸerleri 1-100 arasındadır o nedenle 0(sıfır) verdiÄŸinizde bu 100 olarak kabul edilir ve tüm page doldurulur.

Gelelim bu kavramların önemine: EÄŸer veritabanınızdaki okuma sayısı fazla ise bu deÄŸerin yüksek olması çok önemli yani 100 seviyesinde olması en ideali (Zaten server bazında default deÄŸer 100 ) ama okuma iÅŸlemlerinin yanı sıra sıklıkla veri ekleme ve güncelleme (yazma) da yapıyorsanız böyle zamanlarda PAGE SPLIT dediÄŸimiz vakit kaybettirici bir durumla karşılaÅŸmanıza neden olabilir.(Elbette kaybettiÄŸiniz vakti anlamanız o kadar kolay deÄŸil) Nasıl ki multi-threading yapabilen bir iÅŸletim sistemi CPU ‘da processleri çalıştırırken context-switching yapıyorsa (İşletim Sistemleri dersini alan arkadaÅŸların kulaklarını bir kez daha  çınlatmış oldum) aynı durum veriler okunurken ve yazılarken de geçerli. Tam dolu bir page’de sorgulama yaptığınızda aradığın verinin o page içerisinde olma olasılığı daha fazla olur. Öte yandan tam dolu bir page ‘e yazmaya kaltığınızda dolu olduÄŸu için diÄŸer page ‘e geçilir (Page Split) ve page split iÅŸlemi sırasındaki hesaplamalar vakit kaybına neden olur.

Tablolarınızın fillfactor bilgilerini incelemek için SQL Server üzerinde dbcc showcontig komutundan faydalanabilirsiniz. Aşağıdaki örnekte Northwind veritabanınki Categories tablosuna ait bilgiler çağırılmıştır:

use Northwind

go
dbcc showcontig (Categories) with tableresults  (tableresults parametresi seçimliktir)

*Pages Scanned:1 Extent ‘i aşıyor mu aÅŸmıyor mu görmenizi saÄŸlar
*Extent Switches: 1 ise switch var demektir (tehlikeli bir durum :) )
*Scan Density: Düşükse indeksleri yeniden oluşturmak faydalı olabilir (ALTER INDEX REBUILD )
*Avg Page Density: Bu bilgi aracılığıyla pagelerin doluluk oranları hakında bilgi sahibi olabilirsiniz.

Fill factor kullanarak index oluşturmak isterseniz de aşağıdaki örnek size yol gösterebilir:

CREATE CLUSTERED INDEX deneme_indx ON my_table (col1, col2) WITH FILLFACTOR = 50 

Yazımı bitirmeden evvel neden bu konuyu bloguma taşığıma da deÄŸineyim. JDBC_TR mail grubumuzda arkadaşım Emrah Åžeker yapacağı proje için performanslı bir DBMS arayışına girmiÅŸti ve ona cevap verirken Flickr ‘ın altyapısını anlatan bir sunumda bahsi geçen yazma ve okuma deÄŸerlerinin oranına deÄŸindim. (Kullanıcılar her 14 okumya (select) karşılık 1 yazma (insert,delete,update) yapılıyorlarmış) Yani aldığınız bir DBMS ‘i default deÄŸerlerle kullanmak her zaman akıllıca olmuyor. İşinizi ve kullanıcılarınızı iyi analiz etmek gerekir diye düşünüyorum. Yine aynı ÅŸekilde perfomans sorunlarını çözerken olayları donanım güncellemeleri ile ölçeklemeye kalkmak her zaman beklenen sonuçları doÄŸurmayacaktır. Diyorsanız ki kim bu kadar detaylı ÅŸeylere dikkat ediyor? Ben de diyorum ki Dikkat Eden Kazanır!

Åžimdilik benden bu kadar saÄŸlıcakla kalın…

-Tavsiye-
Who Cares about FillFactor?
SQL Server 2005 Books On-Line
Understanding SQL Server’s DBCC SHOWCONTIGÂ

NOT: Yukarıda bahsi geçen konu diÄŸer DBMS ‘leri kapsayacağı gibi kapsamaya da bilir. O nedenle bu yazıyı sadece bilgi sahibi olduÄŸum SQL Server ‘i örnekleyerek yazdım.

PROJE KABUSU SÜRÜYOR

June 02, 2007 By: İbrahim DEMİR Category: BİLGİSAYAR MÜHENDİSLİĞİ, DATABASE, GÜNLÜK, SQL SERVER 12 Comments →

proje-kabusu.pngGeçen hafta cuma günü başlayan proje kabusum hala sürüyor. Aksilikler, sorunlar bir türlü yakamı bırakmadı. Tüm bu sorunlardan kurtulup rahata ereceğim zamanda yenileri katılıyor aramıza. Ama yaşanan bu sorunlardan da kendime çok ders çıkardım.
(Keşke başka türlü çıkarsaydım o dersleri)

Önceki hafta bilgisayarları kapıp hocamızın asistanına bitirme projemizin son halini göstermeye gittik. Projeyi iki kiÅŸi yaptığımız için CETURK ‘ün kurucu Mehmet ACA bize database hosting saÄŸladı. Aynı database üzerinde çalışmak hem senkronizasyon hem de tablolara veri girme derdinden bizi kurtaracaktı. Fakat okula gidince bunun böyle olmadığını gördük. (Çok geç oldu ama neyse) Okuldaki internet çıkışı üzerinden bizim verilerimizin bulunduÄŸu hosta eriÅŸilemiyormuÅŸ. “muÅŸ” dedim çünkü bu problemi Mehmet ‘e anlatınca “ Evet abi doÄŸru bizim okuldan ne yaptıysam ben de eriÅŸememiÅŸtim ” dedi. (Eeee be adam ÅŸunu baÅŸtan söylesene)

Åžimdi aklınıza “Neden bu veritabanın aynısını kendi bilgisayarında oluÅŸturmadın?” gibi bir soru gelir. Elbette oluÅŸturdum. Fakat remote hostta bulunan verileri kendi bilgisayarıma transfer ederken oradaki schema ile aynı schema ismine taşımışım. (Ben de o schema tanımlı olmamasına raÄŸmen) SaÄŸolsun SQL Server Management Studio bu konuda beni hiç uyarmadı.

Verileri kendi bilgisayarıma aktardıktan sonra bu defa da yeni gelen schema üzerinden tablolara eriÅŸemedim. Güvenlik gerekçesiyle izin verilmeyen bu duruma kendimce remote hosttaki kullanıcının aynısını yerel sunucumda da tanımlayarak çözüm bulmak istedim ama nafile. (Microsoft benden uyanık çıktı anlayacağınız…) Bundan ötürü o gün nasılsa veriler remote hostta var ve okulda da internet baÄŸlantısı var diyerek evden çıktım.

Okulda veritabanına eriÅŸemediÄŸimizden dolayı projenin çalışır halini gösteremediÄŸimiz için bu cuma bir kere daha gittik. (Yani dün) Verileri kendi bilgisayarıma bu defa aktarmıştım. (En azından aktardım sanıyordum) Fakat bu defa da tablolardaki constraint ‘ler aktarılmamıştı ve bundan ötürü çoÄŸu veri ekleme iÅŸleminde hata oldu. Anlayacağınız rezillik dizboyuydu. Artık asistana bahane sunacak halim kalmamıştı.

Öte yandan proje arkadaşımın bilgisarındaki virüs yüzünden tüm gece boyunca yazdığı kodları Visual Studio kaydedememişti ve yaptığı değişiklikleri gösteremedik. (Muhtemelen şu anda bilgisayarını geri yüklemekle meşgüldür)

Bir de bütün bu olanların üstüne hocamızın asistanı benden saçma sapan şeyler isteyince (Burada şu da olsa burada bu da olsa şeklinde) bu haftasonumu da projeye feda etmek zorunda kaldım.

Tüm bunları yazmamın nedeni ise bloguma bir müddet yeni yazı ekleyemeyeceÄŸim için ÅŸimdiden özür dilemek ve kendimi az da olsa haklı göstermek. Fakat proje sonlanınca (Yani 8 haziranda) hem proje sırasında öğrendiklerimi (SQL server ve proje gerçekleÅŸtirme sanatı ile ilgili) hem de Arden AGOPYAN tarafından davet edildiÄŸim BiliÅŸim Kongresi ‘nden izlenimlerimi paylaÅŸacağım. Åžimdilik benden bu kadar. Bir sonraki yazıya kadar saÄŸlıcakla kalın…

SQL SERVER 2005 DATABASE DIAGRAM SORUNSALI

May 09, 2007 By: İbrahim DEMİR Category: DATABASE, MICROSOFT, SQL SERVER No Comments →

İzmir tatilimin sona ermesiyle uzun zamandan beri açıklık getirmeyi düşünüp durduğum bir konuyu da bloguma taşıyorum.
SQL SERVER 2005 DATABASE DIAGRAM HATASI konulu yazımdan sonra beklemediğim sayıda e-mail aldım. Sanırım arama motorlarında aşağıdaki cümleyi arayanlar blogumu karşılarında buldular:

DATABASE DIAGRAM SUPPORT CAN NOT BE INSTALLED BECAUSE THIS DATABASE DOES NOT HAVE A VALID OWNER. TO CONTINUE FIRST USE FILE PAGES OF THE DATABASE DIALOG BOX OR USE ALTER AUTHORIZATION STATEMENT TO SET THE DATABASE OWNER TO A VALID LOGIN….

Ben önceki yazımda bunun kullandığınız veritabanının Compatibility Level ‘i ile alakalı olduÄŸunu ve ayarlardan 90 seviyesine getirilmesini söylemiÅŸtim. Bu sayede SQL Server ‘ın 2005 sürümüyle birlikte görsel yönden daha da iyileÅŸtirilmiÅŸ olan yeni diyagramlardan faydalanabilecektiniz. Fakat o yazıdaki çözüm bazıları için geçerli olmadı. EÄŸer o çözüm ile bir sonuç alamadıysanız ve zaten uyumluluk seviyeniz 90 ise o zaman hata mesajını dikkate almakta fayda var. Database için bizden geçerli bir OWNER atamamızı istiyor. Sakın ola ben bu database ‘i kendim oluÅŸturdum , zaten owner da benim gibi hayallere kapılmayın ve iÅŸinizi saÄŸlama alın. Bunun için:

ALTER AUTHORIZATION ON DATABASE::MyDatabaseName TO [MyServerName\Administrator];
komutunu çalıştıırmanız yeterli olacaktır.

Umarım bu yazı ile bu sorun burada kapanır ve herkes hayalindaki veritabanı diyagramına kavuşur. Gerçi bu diyagramlar için kullanabileceğiniz pek çok ücretsiz araç da mevcut ama tablolar arasında tasarımla oluşturduğunuz ilişkileri arka tarafta veritabanına yansıtanlar var mı onu bilemiyorum.

İstanbul ‘a geri döndüğüme göre blogumu da eski hızımda güncellemeye devam edeceÄŸim. Åžimdilik benden bu kadar. SaÄŸlıcakla kalın…

SQL SERVER 2005: MASTER.MDF IS COMPRESSED

April 01, 2007 By: İbrahim DEMİR Category: BİLGİSAYAR MÜHENDİSLİĞİ, DATABASE, GÜNLÜK, SQL SERVER 3 Comments →

sqlhata.jpg Bir süredir SQL Server 2005 maceralarımı yazmıyordum. Bu zaman sürecinde çok fazla malzeme birikti :) Bunlardan birini blogumda paylaşmak istedim. Cumartesi sabah projeme ait veritabanını bulunduğu sunucudan kendi makinama aktarmak için SQL Server servisini başlatmak istedim fakat ne mümkün. Servisin time-out süresini doldurduğunu ve başlatılamadığını söyleyen hoş bir hata mesajı (artık alıştım ben bu hata mesajlarına ondan dolayı HOŞ dedim).

Ben bu hata mesajını daha önce de almıştım. Hatta o zaman sorunu çözmeye üşenmiÅŸ ve bir gece öcde aldığım sistem yedeÄŸimi geri yükleyerek çalışmaya devam etmiÅŸtim. Bu defa sorunu çözeyim delikanlı gibi dedim ve neler olup bittiÄŸini nasıl anlarım diye düşünürken APPLICATION LOG ‘larına bakmayı akıl ettim. Eventvwr.msc komutuyla açtığım Event Viever üzerinden Application sekmesine gelince gördüğüm hata iÅŸaretleri ve yanında yazan MSSQL$SQL2005 yazısını görünce doÄŸru yolda olduÄŸumu anladım. Öyle de oldu ve resimde gördüğünüz (lütfen tıklayınız) ekran karşıma çıktı.

Burada master.mdf dosyasının sıkıştırılmış olduğunu ve decompress edilmesi gerektiği yazıyordu. İyi hoş ama ben bu dosyanın bulunduğu dizinde sıkıştırma uygulamamıştım ki. Hatta işletimim sistemimin kurulu olduğu disk bölmesinde herhangi bir disk sıkıştırması uygulamıyordum. Yeri gelmişken söyleyeyim; NTFS dosya sistemi ile hayatımıza giren disk sıkıştırma olayı disk alanı açısından bizlere kazanç sağlarken okuma-yazma performansı açısından olumsuz sonuçlar doğurabiliyor. Bu nedenden ötürü işletim sisteminizin bulunduğu disk bölümünde sıkıştırma uygulamanızı önermiyorum.

Konuya dönecek olursak SQL Server 2005 master.mdf (SQL Server ‘ın hayati veritabanı dosyasıdır ve mutlaka yedeklenmelidir) dosyasını sıkıştırmıştı. Gidip dosya özelliklerinden sıkıştırma iÅŸlemini iptal edince SQL Server hayat döndü ve servis rahatlıkla baÅŸladı.

Bir kaç kere daha bahsetmiÅŸtim hatta Microsoft yetkilileri de bunu kabul etmiÅŸtir ki SQL Server 2005 ‘in Stroge Engine ‘i malesef biraz pürüzlü. Büyüyen dosya boyutlarına çare olarak disk sıkıştırması kullanan sevgili RDBMS ‘im malesef kendi sıkıştırdığı dosyayı açamamıştır.

SQL Server 2005 maceralarımı burada paylaÅŸmaya devam edeceÄŸim. Çok güzel ve çok özel hata mesajları yakaladım sizin için. Beni okumaya devam edin…

SQL SERVER 2005 MACERALARI BÖLÜM 1

March 04, 2007 By: İbrahim DEMİR Category: DATABASE, MESLEKTEN, SQL SERVER No Comments →

Bu haftaiçi bir aksilik olmazsa CETURK.COM organizasyonuyla BTAkademi’de seminer veriyor olacağım. Aslında seminerden ziyade bir çalıştay (workshop) olacak. Bu çalıştayın bir kısmını ben bir kısmını da arkadaşım Mehmet Aca yürütecek. Ben özellikle ilgi alanımda olan konular üzerinde birÅŸeyler anlatmayı tercih ettim ve çalıştay sırasında SQL Server kullanımı üzerine bir kaç demo yapacağım. Bugün de dedim hadi biraz hazırlık yapayım ve baÄŸlandım SQL Server 2005 sunucuma. Buraya kadar herÅŸey güzeldi…

Sonra düşündüm ki sunum sırasında sistemi kurcalamam yada değişiklik yapmam gerekir bu nedenle bazı veritabanlarının sql-server-job-error.JPGyedeğini almam doğru olacaktır. Bu da güzel.

Sonra olayı abartıp dedim ki bari yedekleme yapıcam şöyle güzel bir JOB tanımlayıp yapayım da ilerideki sunumlarda bunu da gösteririm.

Kolları sıvayıp tüm bilgileri güzelce girdim. Hangi işlemden sonra neler olacak, ne gibi adımlar yer alacak, kimlere uyarı gidecek , hangi zamanlarda çalışacağına dair bir sürü detayı girdimki sunumlarda bana kolaylık olsun. Ama gelin görünki kolaylık değil kabus oldu ve yukarıdaki hata tokat gibi yüzüme çarptı.

Ayda yılda bir teknolojinin nimetlerinden faydalanacaktık o da kısmet olmadı. Bir de o kadar detayı girdiğime yandım. Dedim bu hata bir tek benim başıma gelecek değil ya başlarının da başına gelmiştir. Biraz Google yaptım ama bir sonuç elde edemdim. Sonra kendi yöntemlerimle logları inceledim, servisleri yeniden başlattım vs. ama yine de sonuç aladım.

Özetle SQL Server 2005 ile macera dolu günler geçiriyorum ve işin kötüsü hala JOB tanımlayamıyorum. Bu hatayı alan yada çözümünü bilen allah rızası için buraya yorum olarak yazsın :)

SQL SERVER 2005 DATABASE DIAGRAM HATASI

March 02, 2007 By: İbrahim DEMİR Category: DATABASE, MESLEKTEN, SQL SERVER 7 Comments →

hata.JPGSQL Server 2005 ile birlikte çok güzel çok şık diyagramlar çizmek mümkün. Elbette bunu SQL Server 2000 ile de yapabiliyordunuz. Fakat görsellik konusunda gelişmeler olduğunu söyleyebilirim. Aslında yapacağınız işin boyutuna göre bu iş için özellişmiş ERWIN tarzı araçları kullanabilirsiniz ama konumuz bu değil.

Bir gün veritabanı yönetim sisteminizdeki bir database’e ait diyagramı çizmeye kalktığınızda :

DATABASE DIAGRAM SUPPORT CAN NOT BE INSTALLED BECAUSE THIS DATABASE DOES NOT HAVE A VALID OWNER. TO CONTINUE FIRST USE FILE PAGES OF THE DATABASE DIALOG BOX OR USE ALTER AUTHORIZATION STATEMENT TO SET THE DATABASE OWNER TO A VALID LOGIN….

diye devam eden bir hata alırsanız korkmayın çünkü cevabı bu yazıda. Aslında ben “ÜZGÜNÜZ BİR HATA OLDU” yada “ABİ KUSURA BAKMA YAPAMIYOM İŞTE” gibi hiçbir açıklması olmayan hatalardan nefret ederim ama daha da kötüsü var. O da kullanıcıyı yanlış yerlere sürükleyen hatalar. Åžimdi ben bu hatayı alınca doÄŸrudan properites penceresine gidip eriÅŸim yetkilerime baktım da  zaten sistem yöneticisi olarak sisteme girmiÅŸtim ve veritabanını da o zaman sistemime dahi etmiÅŸtim. Allahtan iyi bir Google kullanıcısıyım ve çözümü buldum. İşte size çözüm:

* Database uzerine sağ tıklayıp properties seçiyoruz.

* Soldaki menüden OPTIONS ‘a tıklıyoruz.

*Önümüzdeki pencerede 3 tane dropdown menu var. Bunlardan Compatibiliy level olanın değerini SQL SERVER 2005 (90) olarak seçiyoruz ve ok diyoruz.

Sanırım hatanın neyden kaynaklandığını anladınız. Yeni diyagramlar için uyumluluk seviyesinin 90 olması gerekiyor. EÄŸer SQL Server 2000′den kalma veritabanınızı 2005′e aktardıysanız yada SQL SERVER 2005′e NorthWind gibi bir database eklediyseniz bu sorunu yaÅŸabilirsiniz. Yeni bir Database oluÅŸtururken de Options Menüsünden uyumluk seviyesini ayarlayabilirsiniz.

sp_dbcmptlevel  :  iseterseniz bu stored procedure ile uyumluluk seviyelerini görebilirsiniz.

Umarım bu çözüm iÅŸinize yarar. Buna raÄŸmen düzelmeyen sorunlar olursa benimle iletiÅŸime geçebilirsiniz. İleride düzenleyeceÄŸimiz SQL Server 2005 Administration çalıştayları için fırsat buldukça SQL Server 2005′i kurcalıyorum. Bu sırada öğrendiklerimi ve ilginç gelen noktaları sizinle paylaÅŸacağım. Åžimdilik benden bu kadar. Beni okumaya devam edin…

REPORTING SERVICES NEDİR ? (SEMİNER NOTLARIM)

January 22, 2007 By: İbrahim DEMİR Category: DATABASE, MESLEKTEN, NEDİR?, SQL SERVER No Comments →

Cuma günü katıldığım AJAX & REPORTING SERVICES konulu seminere ait görüşlerimi blogumda yazmÅŸtım ve konularla ilgili detaylı bilgiler de vereceÄŸime söz report.JPGvermiÅŸtim. Aslında bu yazıyı daha erken yazmayı düşünüyordum fakat Aykut Bey’in sitesine sunumu eklemesini bekledim. Nihayet sunum elime geçti . Sizler de www.aykuttasdelen.net/downloads/rssemineri.ppt adresinden sunumu indirip Reporting Services ile tanışabilirsiniz.

Seminerde öncelikle ” RAPORLAMANIN OLMADIÄžI BİR İŞ UYGULAMASI DÜŞÜNÜLEMEZ ! “  ifadesi ile raporlamanın ve yapılan iÅŸlemlere ait sonuçların görülebilir olmasının önemi vurgulandı. Reporting Services bileÅŸenleri olan

  • Repository Service
  • Report Designer
  • Report Manager

bu 3 kavrama deÄŸinildi. Reporting Services’ ın Microsoft’ un SOA (SERVICE ORIENTED ARCHITECTURE)’ ya verdiÄŸi önemin bir sonucu olarak bir servis yapısında hizmet verdiÄŸinden bahsedildi. Yani ister .NET isterseniz de JAVA uygulamalarınızla birlikte bu uygulamayı kullanabilirsiniz. Gerçi bu noktada şöyle bir çeliÅŸki var Reporting Services kullanabilmek için sistem gereksinimi olarak en az SQL SERVER 2000 gerekiyor. Bu da sunucu tarafında yine bir platform bağımlılığına neden olabilir.

Reporing Services için vurgulanan diğer bir nokta da LIST, TABLE, MATRIS , CHART şeklinde raporlar üretebilmesiydi. Gerçekten bu yapı görsel olarak büyük bir esneklik sağlıyordu. Dosya tipi olarak da HTML , TIFF, EXCEL , PDF,  CVS, XML formatlarında çıktı üretebiliyordu. Özellikle PDF ve EXCEL formatında çıktı üretimi şirketlerin vazgeçilmezi olsa gerek diye düşünüyorum.

Aykut Bey özellikle Reporting Services aracının ücretsiz olması üzerinde durdu. Yani bu Microsoft’ un iÅŸ dünyasına büyük bir armaÄŸanıydı ??? Elbette böyle bir durumda aklıma  “ACABA SQL SERVER 2005 EXPRESS EDITION İLE KULLANABİLİR MİYİZ” sorusu geldi. Malesef ki böyle bir ÅŸansımız yoktu. Yani  ücretsiz olma durumu biraz havada kalıyordu. Özellikle veritabanı yönetim sistemi olarak Microsoft SQL Server kullanmayanlar acaba sırf bu araç için SQL SERVER lisansı ödemek isterler mi bilemiyorum açıkcası…  “Sadece Reporting Services için SQL Server lisans ücreti farklı olabilir bu konuda en güzeli Microsoft Türkiye’den bilgi alamak ” ÅŸeklinde bir ekleme de olmuÅŸtu.

Aykut TaÅŸdelen Bey semineri slaytlara boÄŸmayarak bizlere çok büyük bir iyilikte bulundu. Sunumun ardından Reporting Services aracını ne ÅŸekilde kullacabilecegimize deÄŸindi .  Bu arada Reporting Services için IIS ‘in de kurulu olması gerekiyor. iis.JPGYandaki resmi tıklayıp büyütürseniz Reporting Services tarafından yaratılan sanal dizinleri görebilirsiniz. Buradan da farklı ayarlara eriÅŸmeniz mümkün. Bilgisayarınızda SQL SERVER 2005 kurulu ise Reporting Services otomatik olarak kurulmuÅŸ demektir. (SQL SERVER 2000 için kendiniz ayrı bir kurulum yapmalısınız). Ayrıca beraberinde rapor hazırlamanız için SQL SERVER BUSSINESS INTELLIGENCE DEVELOPMENT STUDIO da kuruluyor. (Visual Studio’ dan alışkın olduÄŸunuz bir ortam hatta ta kenidisi) Start menüden Configuration Tools altından REPORTING SERVICES CONFIGURATION ile servis ayarlarını deÄŸiÅŸtirmeniz mümkün.  

rporting.JPG SQL SERVER BUSSINESS INTELLIGENCE DEVELOPMENT STUDIO ile yeni bir proje açtığınızda karşınıza soldaki ekran gelecek .( Resme tıklayarak büyütünüz) Bunun ardında da kolay bir şekilde REPORT SERVER PROJECT WIZARD ile hızlı bir şekilde raporlarınızı üretebilirsiniz. Fakat işin içine daha da esneklik katmak ve tasarımla uğraşmak isterseniz REPORT SERVER PROJECT ile daha detaylı raporlar üretebilmeniz mümkün. Öncelikle bir datasource tanımlamanız gerekiyor bunu unutmayın.

Report Server Datasourse (RDS) tanımlandıktan sonra hazırlayacağınız rapor RDL (REPORT DEFINITION LANGUAGE) uzantılı olacaktır. Böylece bu raporlarınızı bu dosya türünü destekleyen farklı raporlama araçlarıyla da kullanabilirsiniz.

Sunumda öğrendiklerim bu ÅŸekildeydi. Aykut Bey’e ayrılan vakit de kısıtlı olunca en fazla bu kadar detaya girilebildi. Benim aklıma ise xml formatında raporların üretilerek bunların bir HTML içinden çağırılması ile örneÄŸin bir sitenin durumu hakkında kullanıcılara detaylı bilgi verilmesi gibi bir çalışma yapılabileceÄŸi geldi. Buradaki bilginin güncelliÄŸinin korunması için de servisin sık zaman aralıklarında rapor üretmeye SCHEDULE edilmesi gerekiyor diye düşünüyorum.

Åžimdilik benden bu kadar. Fırsatım olursa AJAX semineri hakkında da birÅŸeyler yazmaya çalışcağım. Beni okumaya devam edin…