SQL Server veritabanını Suspect & Emergency modundan kurtarmak - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Veri Tabanı (https://www.delphican.com/forumdisplay.php?fid=4) +--- Forum: MS SQL Server (https://www.delphican.com/forumdisplay.php?fid=103) +--- Konu Başlığı: SQL Server veritabanını Suspect & Emergency modundan kurtarmak (/showthread.php?tid=1580) |
SQL Server veritabanını Suspect & Emergency modundan kurtarmak - Abdullah ILGAZ - 28-11-2017 Merhaba, Elektrik kesintisi veya donanım arızalarından kaynaklanan bazı problemler ister istemez çalışan sistemlere zarar verebiliyor. Sadece bilgisayar dosyaları ve işletim sistemi dosyaları değil, veritabanı üzerindeki MDF ve LDF dosyaları da nasibini alıyor. Bu iki dosyanın birbirleriyle uyumsuz olmaları çeşitli uyarılar ve hatalar döndürüyor veya masterdb üzerinde bozulmalar yaşanabiliyor. Harddisk üzerine veri okuma yazma işlemlerini gerçekleştirememesi de bu sebeplerden birisidir. Bu gibi durumlarda veritabanınız SUSPECT moduna geçebiliyor. Çözüm:
SQL Server veritabanını Suspect & Emergency modundan kurtarmak - adelphiforumz - 22-12-2017 selamlar bende sizinkine benzer bir yapıyı script haline getirmiştim Belki birinin işine yarar Declare @veritabani as nvarchar(max), @sql as nvarchar(max); set @veritabani='XXXXX'; -- XXXXX ile belitilen yeri kendi veritabanı adınızı yazınız set @sql='USE master; EXEC sp_resetstatus ''' + @veritabani + '''; alter database ' + @veritabani + ' set Emergency; USE ' + @veritabani + '; dbcc checkdb (''' + @veritabani + '''); ALTER DATABASE ' + @veritabani + ' SET EMERGENCY; ALTER DATABASE ' + @veritabani + ' SET SINGLE_USER WITH ROLLBACK Immediate; DBCC CHECKDB(' + @veritabani + ', REPAIR_ALLOW_DATA_LOSS); USE ' + @veritabani + '; ALTER DATABASE ' + @veritabani + ' SET Multi_User ' exec (@sql); Cvp: SQL Server veritabanını Suspect & Emergency modundan kurtarmak - Abdullah ILGAZ - 23-12-2017 (22-12-2017, Saat: 15:31)adelphiforumz Adlı Kullanıcıdan Alıntı: selamlar Katkılarınız için teşekkür ederim. Ben yine de acil'e çekme ve checkdb işlemlerinin beklemeli yapılması gerektiğine inanıyorum. Bu kadar riskli bir duruma giren riskli veritabanındaki tüm veriler bizler için çok kıymetli. O yüzden gerek tüm donanımı yoran checkdb fonksiyonu, gerekse yapılan kritik hamleler bu işlemin parça parça yapılmasını öngörmeme neden oluyor. Fonksiyonunuz verdiğim anlatımın kod üzerinde vücut bulmuş hali olmuş, elinize sağlık |