Category Archives: SQL SERVER

SQL SERVER 2005 MACERALARI BÖLÜM 1

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

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)

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…