MS-SQL SERVER etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MS-SQL SERVER etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Şubat 2012 Perşembe

SQL Server Agent Servisini Kod ile Stop / Start Etme

Sql server ajanı bizim otomatikleştirdiğimiz işleri bizim için arka planda yapan bir servisdir.
Örnek vermek gerekirse;
Sql server'ımızda bir backup planı oluşturduk ve bunu otomatikleştirmek istiyoruz.Bu sebepten ötürü bu servisin çalış halde olması gerekmektedir.Bu servisi çalıştırmanın bir kaç yolu olmasına rağmen kod ile yapmak daha kolaydır. Kodlar aşağıdadır.

Durmuş olan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla başlatabilirsiniz.

exec xp_servicecontrol N'start',N'SQLServerAGENT'

Çalışan SQL Server Agent servisini aşağıdaki extended stored procedure yardımıyla durdurabilirsiniz.

exec xp_servicecontrol N'stop',N'SQLServerAGENT'

xp_servicecontrol  extended stored procedure aşağıdaki parametreleri alır.
  • start
  • stop
  • pause
  • continue
  • querystate

28 Aralık 2011 Çarşamba

MS SQL SERVER 2008 "Backup alınmış Database'i Restore etmek"

Bu yazımızda Sql server üzerinde restore işlemini öğreniceğiz.İlk olarak restore işlemi neden yapılır onu anlatarak yazımıza başlayalım.Restore işlemi yapmak için database'imizin yedeğini  almamız gerekmektedir.aldığımız yedeğin uzantısı default olarak .bak uzantılıdır.Yedek alma işlemini sistem yedeklemesi veya database imizifarklı sitemlere taşımak için kullnırız.Bu nokta'da  aldığımız bu yedeğin diğer sisteme sıfırdan kurulması veya var oaln database'in üzerine kurulması gibi işlemleri gerçekleştirmek için restore komutuna ihtiyaç duyarız.

Aşağıda restore işlemini gerçekleştiren ekranları görüceksiniz.Bu işlemler MS SQL SERVER 2008 üzerinde gerçekleştirilmiş olup sizin .bak uzantılı bir backup dosyasına sahip olduğunuz düşünülerek  yapılmıştır.

Sıfır kuruluma örnektir.


İlk olarak Databas sekmesini seçiyoruz ve sağ tıklıyoruz.Çıkan menüde Restore Database komutuna basıyoruz.

Çıkan ekranda Database ismimizi yazıyoruz. From device yazan yerin karşısında ... olan tuşa basıyoruz ve .bak uzantılı dosyamızın nerde olduğunu gösteriyoruz.

Çıkan ekranda add tuşuna basıyoruz .

Çıkan ekran da dosyamızı seçtikten sonra ekranımızın en son hali böyle oluyor Ok tuşuna basıyoruz ve alt ekrana geçiyoruz.

Bu ekranda Select to backup set to restore yazan yerin altında backup dosyasının kutucuğunu işaretliyoruz ve Ok tuşunabasıyoruz .Restore işlemi başlamış oluyor.

Database'imizin boyutuna göre bu işlem süresi kısalır veya uzar.İşlemimiz sorunsuz bittiğinde karşımıza bu ekran gelir ve database'imizi kullanmaya başlıyabiliriz.

MS SQL SERVER 2008 "Log Dosyasını Küçültmek"

                 Bu gün şimdiye kadar yazdığım yazılardan biraz farklı ve teknik bir konu hakkında yazı yazıcam.Konunun yetersiz yer sorunu çeken IT çalışanları ve Database sorumlularının çok işine yarıyacağından eminim. Firmalar maliyetlerini hesaplamaya, teknolojini verdiği destek ile en ince ayrıntısına kadar hesap etmek istemekdedir.Bu sebepten ötürü veritabanları büyükmekte ve log dosyaları  veritabanlarından daha büyük boyutlara ulaşmaktadır.Eğer bir de yetersiz disk ünitelerine sahipseniz bu log dosyaları ilerleyen dönemlerde problem yaşatmaktadır.Ben size bu log dosyarlarının nasıl ufaltılacağı hakkında bilgi vermeye çalışacağım.

Bu çalışmamı Microsoft SQL 2008 üzerinde gerçekleştirmiş bulunmaktayım .






















İlk olarak Proğramımızı açıyoruz login oluyoruz.Daha sonra Log dosyasını ufaltıcağımız Database'e sağ tıklayıp Task--Detach komutunu veriyoruz.Bu komut bizim database dosyamızın Sql server ile olan bağlantısını kopartmakta ve windows üzerinden yapılan müdahalerde korumasız bırakmaktadır.Aslında bu da bizim bu iş için istediğimiz şeydir.





















Detach komutunu verdikten sonra karşımıza yukarıdaki ekran gelir.Burda hiçbir değişiklik yapmadan Ok tuşuna basıyoruz ve database'imizin server ile bağlantısını kopartıyoruz.



Şimdi Yukardaki ekranda gördüğünüz gibi Databaselerimizin windows içinde saklandıkları klasöre geldik.Bizim burada üzerinde durucağımız 2 dosya var . Bunlardan ilki MikroDB_V12_T05_2011_1._ MS  bu bizim verilerimizin saklandığı dosyadır.(Bu dosyanın uzantısı sizin kafanızı karıştırmasın bunun sebebi piyasada bulunan Mikro programının kendi uyarladığı bir uzantıdır.Normalde .mdf uzantılıdır veritabanı dosyalarımız.) Diğer dosyamız MikroDB_V12_T05_2011_2    bizim log dosyamızdır.  Farketmişseniz log dosyamızın boyutu neredeyse veri tabanı dosyamızla neredeyse aynı boyuttadır.(bazen daha da büyük olabilir)


Şimdi bu silme işlemini yaparken herhangibir aksaklığa karşı ilk olarak ismini değiştiriyoruz ve sql server'ımızın bu dosyayı bulmamasını sağlıyoruz.


Şimdi ismini değitirdiğimiz log dosyasının veri dosyasını tekrar veritabanına bağlıycaz ve dış müdahalelere karşı koruma altına alıcaz.Detach Komutunu veriyoruz.


Karşımıza yukarıdaki ekran geliyor.Bu ekran da Add tuşuna basıyoruz ve veri dosyamızın konumunu işaretliyoruz.



Uzantısı ._MS olan veri dosyamızı seçiyoruz ve OK tuşuna basıyoruz.



Veri dosyasını ekledikten sonra ekranda dagördüğünüz gibi ismi değiştirdiğimiz log doyasını SQL Server 'ımız bulamamıştır.Log dosyamızı tıklıyoruz ve sağ alttaki remove tuşuna basıyoruz.

Ok tuşuna bastıktan sonra SQL Server'ımız bizim yerimize  sıfırdan bir log dosyası oluşturucak.

Burda da gördüğünüz gibi ismini değiştirdiğimiz dosya adında yeni bir log dosyası oluşmuş bulunmakda ve eskisinden daha düşük yer kaplamaktadır.Son olarak Database 'imizi kontrol ettikten sorna ismini değiştirdiğimiz eski log dosyasını artık silebiliriz.Bu işlemi gerçekleştirmeden önce herzaman için full backup almanız gerekmektedir.