SQL SERVER’de Veritabanının Var Olup Olmadığını Sorgulamak – 3 Yöntem
Bazı durumlarda SQL SERVER‘da kullanmak istediğiniz veritabanını var olup olmadığını sorgulama ihtiyacı duyabilirsiniz. Ben yazılım geliştirdiğim dönemlerde uygulama tarafında SQL SERVER‘da uygulamanın kullanmakta olduğu veritabanının olup olmadığını sorgulayıp koşula göre eğer veritabanı yoksa oluşturup varsa güncelleme scriptlerimi çalıştırıyordum. Bunun gibi birçok durumda SQL SERVER üzerinden bir veritabanının var olup olmadığını sorgulama ihtiyacınız doğabilir.
Araştırmalarım sonucu veritabanının SQL SERVER tarafında var olup olmadığını sorgulamak için üç farklı yöntem buldum. Sırası ile bu yöntemleri sizlerle paylaşıyorum.
Sizlerde kullandığınız farklı bir yöntem varsa yorup panelinden bizlerle paylaşabilirsiniz.
1.Yöntem DB_ID() Fonksiyon Kullanımı
Benimde kullandığım DB_ID() fonksiyonu kullanımı kolay ve akılda kalıcı olduğu için tavsiye ederim.
[sql]
IF DB_ID(‘AdventureWorks2014’) IS NOT NULL
BEGIN
PRINT ‘DB Mevcut’
END
ELSE
BEGIN
PRINT ‘DB Bulunamadı’
END
[/sql]
2.Yöntem sys.databases View Kullanımı
Bu yöntemde MASTER veritabanında bulunan Sistem View’leri altında sys.databases view’ini sorgulayarak veritabanının var olup olmadığı bilgisine ulaşabiliriz.
[sql]
IF EXISTS(SELECT * FROM master.sys.databases WHERE name=’AdventureWorks2014′)
BEGIN
PRINT ‘DB Mevcut’
END
ELSE
BEGIN
PRINT ‘DB Bulunamadı’
END
[/sql]
3.Yöntem sys.sysdatabases Tablosu Kullanımı
Bu yöntemde de aynı 2. yöntemde olduğu gibi sorgulama yaparak veritabanının var olup olmadığını tespit edeceğiz. 2. yöntemde Master veritabanında bulunun sistem view’ini kullandık, bu yöntemde de yine Master veritabanında olan sistem tablosunu kullanıyoruz.
[sql]
IF EXISTS(SELECT * FROM master.sys.sysdatabases WHERE name=’AdventureWorks2016′)
BEGIN
PRINT ‘DB Mevcut’
END
ELSE
BEGIN
PRINT ‘DB Bulunamadı’
END
[/sql]
Yararlı olması dileklerimle.