SQL Server Database States
0

Bu makalemde sizlere SQL Server’da veritabanların anlık durumlarından bahsedeceğim.

1.ONLINE

Çevrimiçi durumda olan veritabanı son kullanıcıların erişimine ve çalışabilmeleri için çevrimiçi olma durumudur. Primay Data File çevrimiçi olmasına rağmen recovery aşamasının kritik veritabanı kurtarma işlemi hala tam olarak tamamlanmamış olabilir. Veritabanının sağlıklı bir şekilde çalışması gereken durumdur.

Aşağıdaki örnek gibi veritabanı adının yanında parantez içinde bir durum belirtilmemişse Online durumda olduğunun göstergesidir.


Resim-1

2.OFFLINE

Çevrimdışı durumdayken, veritabanı kullanıcı erişimine ve işlem yapma eylemleri için aktif olmadığının göstergesidir. Yalnızca bir kullanıcının müdahalesi ile veritabanı Offline duruma getirilebilir. Neden Offline duruma alma ihtiyacı duyarız diye örnek verecek olursak, bir önceki  SQL Server Veritabanı Üzerindeki Dosyaları Farklı Bir Klasöre Taşıma adlı makalemde bu duruma örnek verilebilir.  Veritabanının dosya veya dosyalarının farklı bir konuma taşımak istediğimizde Offline duruma alarak veritabanına o an gelecek olan bağlantıları engellemeye yardımcı olur. Veritabanını Offline duruma alabilmek için aşağıdaki scriptten faydalanabiliriz.

 

ALTER DATABASE [DEMO] SET OFFLINE

GO

Resim-2


Resim-3

İşlemlerimiz tamamlandıktan veritabanımızı ONLINE duruma çekmek için de aşağıdaki scripti çalıştırabiliriz:

ALTER DATABASE [DEMO] SET ONLINE

GO

3.RESTORING

Bu durumda da veritabanı kullanılamaz durumdadır. Primary Filegroup un bir veya daha fazla file ının geri yüklendiğinin yada bir veya daha fazla secondary file çevrimdışı olarak geri yüklendiğinin belirtisidir.


Resim-4

4.RECOVERING

Bu durum veritabanının kurtarma işlemi gerçekleştirdiği geçici bir durumdur ve veritabanı başlatıldıktan sonra kurtarma işlemi başarıyla tamamlanırsa otomatik olarak çevrimiçi hale gelir.

Kurtarma işlemi, veri tabanı kapatılırken gerçekleştirilen ve henüz veri tabanı veri dosyalarına yazılmamış tüm işlemlerin işleneceği Roll Forward aşaması olmak üzere iki ana aşamadan oluşur. Geri alma aşamasında veritabanı kapatılırken commitlenmemiş tüm işlemler geri alınır.Kurtarma işleminin başarısız olma durumunda SUSPECT durumuna gelir ve veritabanı kullanılamaz hale gelir. Kurtarma durumu esnasında veritabanı kullanıcılar tarafından kullanılamayacaktır.

5.RECOVERY PENDING

Veritabanının Recovery Pending durumunda kalması eksik dosyalar nedeniyle veya potansiyel olarak kaynak problemlerinden veritabanı kurtarma işleminin başarısız olduğu, veritabanının başarılı olarak kurtarılmasını engellediğini ifade eder. Veritabanı bu durum ile zarar görmemektedir ancak kullanıcıların erişimi için kullanılamayacak ve hata çözümü ve kullanılabilir duruma getirebilmek için ek bir kullanıcı eylemi gerekmektedir.


Resim-5

6.SUSPECT

Bu durum ile veritabanının kullanıcı erişimi için uygun olmadığını belirtir. Veritabanının kurtarma durumunun başlayıp başarıyla tamamlanamadığı durumunda, Primary Data File üzerinde hasar olduğunda gözlemleyebiliriz. Sorunun düzelmesi için kullanıcı eylemi gerektirir. SQL Server veritabanı dosyalarının bozulması, kullanılamayan veritabanı dosyaları veya büyük bir işlem çalıştırılırken veritabanı sunucusunun uygun olmayan şekilde kapatılması gibi birçok nedenden dolayı veritabanı SUSPECT durumuna düşer.


Resim-6

7.EMERGENCY

Veritabanı bakımının güvenli bir şekilde gerçekleştirmek veya sorun gidermek amacıyla sysadmin kullanıcının müdahalesiyle veritabanı EMERGENCY durumuna alınabilir. Veritabanında onarılacak veya geri yüklenecek, veritabanından dışarı aktarabileceğiniz READ_ONLY olarak işaretlenecek, günlük kaydı devre dışı bırakılacak ve erişim yalnızca sysadmin rol üyeleriyle sınırlı olacak şekilde tek kullanıcı modunda olacaktır.

ALTER DATABASE [DEMO] SET EMERGENCY

GO


Resim-7


Resim-8

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

https://www.mshowto.org

https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-states?view=sql-server-ver15

TAGs: Online, Offline, Suspect, Emergency, Recovering, Recovery Pending, Restoring, Database State, SQL Server, Database States, Database States in SQL Server, SQL Server veritabanı durumları

Bu İçeriğe Tepkin Ne Oldu?
  • 29
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Trakya Üniversitesi - Bilgisayar Mühendisliği mezunuyum. Öğrenim hayatım boyunca C, C++, C#, VB.NET ve ASP.NET MVC dilleri ile SQL Server veri tabanı altyapılı çeşitli otomasyon projelerinde yer aldım. İş hayatıma ERP Software Support Specialist pozisyonuyla başlayıp kısa bir süre sonra kariyerime BELBİM Elektronik Para ve Ödeme Hizmetleri A.Ş.'de Ms SQL Database Administrator pozisyonu ile yön vermiş bulunmaktayım. SQL Server ile birlikte Data Warehouse, Oracle ve PostgreSQL alanlarına ilgiliyim ve kendimi bu alanlarda geliştirmeye devam ediyorum.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir