SQL Server DATABASE(Suspect) Nasıl düzeltilir ?

20

Merhaba dostlar, Bu yazımda SQL Seritabanları ile uğraşan tüm DBA’lerin başına gelebilecek bir bahisten bahsetmek istiyorum. Ben bir kaç sefer restart süreçlerinde karşılaştım. Birden çok veritabanı bulunan SQL sunucularda bazen başınıza gelebiliyor.

Database(Suspect) yanılgısı bu yanlıştan nasıl kurtulabileceğinizi kısa ve basitçe anlatmaya çalıştım. Yararlı olması dileklerimle.

REPAIR_FAST : Geriye dönük data tamirat fonksiyonunu gerçekleştirir. Bilgi kaybı olmaz ama yanılgı alabilirsiniz.

REPAIR_REBUILD : Bir evvelki fonksiyondan bir sonuç alınamadığı vakit kullanılabilir, bilgi kaybı olmaz ama yanılgı alabilirsiniz.

REPAIR_ALLOW_DATA_LOSS : Rebuild yaptığınız halde kusur almışsanız bu süreci deneyebilirsiniz ama data kaybı mümkünlüğü vardır. Bu nedenle öncesinde kesinlikle yedek alınız.

Not : Suspect modundaki veritabanını sakın “Detach” etmeyin yoksa bir daha “Attach” edemezsiniz. Bu yüzden kesinlikle birinci iş olarak .mdf ve .log belgelerini yedekleyip aşağıdaki formüllerle bahtınızı deneyin. Her denemeden sonra SQL server’ ı tekrar başlatmayı unutmayın.

Aşağıdaki Komutları Uygulayınız :

EXEC SP_RESETSTATUS VERITABANIADI

ALTER DATABASE ( VERITABANIADI ) SET EMERGENCY
GO

DBCC CHECKDB ( VERITABANIADI )
GO

ALTER DATABASE VERITABANIADI SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

DBCC CHECKDB ( VERITABANIADI , REPAIR_FAST)
GO

DBCC CHECKDB ( VERITABANIADI , REPAIR_ALLOW_DATA_LOSS)
GO

ALTER DATABASE ( VERITABANIADI ) SET MULTI_USER
GO

Not : Üstteki süreçte verikaybı göz alınmıştır. Ver,kaybı toleransınız yok ise ” REPAIR_ALLOW_DATA_LOSS ” komutunu REPAIR_FAST yahut REPAIR_REBUILD olarak deneyiniz. Son deva olarak REPAIR_ALLOW_DATA_LOSS demenizi tavsiye ediyorum.

İlginizi Çekebilir;  IoT Cihaların Güvenliği ve Zaafiyetleri Nelerdir ?
Cevap bırakın

E-posta hesabınız yayımlanmayacak.