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]

db_exists

db_not_exists

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]

sys_databases

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]

master_sysdatabases

master_sysdatabases_not_exists

Yararlı olması dileklerimle.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.