SQL Database Bozulmaları

12 Ekim 2014 Pazar

 

Corruption oluştuğu sırada  özellikle yapılan hatalar:

Sql Serverı yeniden başlatmak – Bu sık yapılan bir hatadır, restart edince düzelir mantığı corruption esnasında işe yaramıyor. Daha çok zaman kaybına yol açıyor ve serverın hızlı şekilde online olmasını engellemiş oluyorsunuz.

Anında ilk backuptan geri dönmek, hemen en son alınan backuptan geri dönülüp, sorun çözülmek istenir. Arada geçen zamanda veri kaybı yaşanmıştır. Ya da SQL sunucusunu durdurup transaction logları temizleyip, tekrardan sql server’ı başlatmakta bir sürü veri kaybı yaşanması olasıdır. Detaylı inceleme yapılmadan bu hataya da düşmemek gerekmektedir.

Database Corruption Oluşma Sebepleri

Database bozulmalarının sebebi disk altyapısı olarak bilinir. Özetle corruption; hafızada canlı şekilde işlenmiş ve fakat diske doğru şekilde aktarılmamış veritabanı değişiklikleri olarak özetlenebilir. Hafıza ve disk arasındaki bu farklılık, SQL Server’ın transactional mimarisi içerisinde çoğu zaman denet altındadır ve corruption olarak adlandırabilecek durumlar en aza indirilmiştir. Corruption SQL Server gibi bir “user mode application” tarafından kontrol edilemeyen bir alt sistemdeki hatanın bubble up (ortaya çıkma, belirme) etmesi sonucu ortaya çıkar.

Çoğu zaman corruption I/O hatalarından oluşur, I/O yu yanlızca harddisk üzerindeki bozulma olarak görmek yanlış olur. Alt kıvrımlarına da (alt sistemler) bakmak gerekir;

– Windows İşletim Sistemi

– Güvenlik yazılımları (antivirüs)

– Disk birleştiriciler

– Disk Encryption (şifreleme)

– Network kartları, switchler

– San Controller (Storage Area Network)

– Raid Controller

– Harddisk

Hata tespiti ile ilgili çalıştırılan DBCC CHECKDB komutunu "ALLOW_DATA_LOSS" parametresiyle çalıştırmak eğer yedeğiniz de yoksa ve son çarenizse ve zamanınızda varsa (100 GB için saatlerce sürebilir) ancak o zaman yapılabilir. Aksi takdirde büyük veri kayıpları yaşanabilir. Aşağıdaki scripti kullanabilirisniz.

DBCC CHECKDB

[[ ( database_name | database_id | 0

[ , NOINDEX

| , { REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD } ]

) ] [ WITH {

[ ALL_ERRORMSGS ]

[ , EXTENDED_LOGICAL_CHECKS ]

[ , NO_INFOMSGS ]

[ , TABLOCK ]

[ , ESTIMATEONLY ]

[ , { PHYSICAL_ONLY | DATA_PURITY } ]

}]]


Share/Bookmark

0 comments :