Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
SQL Database Repair Sonrası Tüm Tablolar için CHECKIDENT
#1
Arkadaşlar merhaba,

yaşadığım bir sıkıntının giderilmesi noktasında daha hızlı bir çözüm olup olmadığını öğrenmek istiyorum.

Suspect olarak işaretlenmiş veritabanına


EXEC sp_resetstatus 'yourDBname';
ALTER DATABASE yourDBname SET EMERGENCY
DBCC checkdb('yourDBname')
ALTER DATABASE yourDBname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ('yourDBname', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE yourDBname SET MULTI_USER

şeklinde müdaha ettikten sonra

Bazı tablolarda yeni insert işlemlerinde identity  alanlar için Dupllicate_key hatası allmaya başladım.
Bunun üzerine DBCC CHECKIDENT ( table_name ) ile yaptığın kontrollerde
Checking identity information: current identity value '55509', current column value '55609'.
current identity value  ile current column value  arasında fark olduğunu görünce
DBCC CHECKIDENT ( table_name, RESEED, 55610) ile identity  alanını mevcut değerine bir ekleyerek yeniledim.
Hata aldığım tablodaki sorun giderildi.
Ancak hata aldığım tablo sayı artınca

select * from sys.objects where type_desc = 'USER_TABLE'

Projede 264 tane tablo çıkınca önce hatalı tabloları tespit et ve identity  alanlarını değiştir bir hayli zamete soktu.

SELECT 
        *
        FROM sys.columns 
        WHERE  is_identity = 1

        identity  alanlarıda buldum
Biraz uğraşırsam tablorı falanda bulurum
Bu işlemi daha hızlı ve efektif yapabilmenin başka bir yolu var mı dır ?
Cevapla
#2
Selam,
MS SQL Veritabanı kullanmadım fakat repair yapılan bir tabloda Duplicate Key hatası olması ve bunu elle düzeltmeniz sakıncalı bir durum değilmi ? Şahsen yazdığım programda böyle bir hata olması düzeltme yapmaktan çok, hata neden kaynaklanıyor onu bulmaya yönelik olurdu.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#3
(02-09-2016, Saat: 12:27)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSelam,
MS SQL Veritabanı kullanmadım fakat repair yapılan bir tabloda Duplicate Key hatası olması ve bunu elle düzeltmeniz sakıncalı bir durum değilmi ? Şahsen yazdığım programda böyle bir hata olması düzeltme yapmaktan çok, hata neden kaynaklanıyor onu bulmaya yönelik olurdu.

Sebep anlık kapanma kesintisiz güç kaynağı devre dışı kaldığı bir anda kesinti yemiş. Sad
Cevapla
#4
Kötü bir durum, bu tip olaylar insanı paronayak yapıyor. Şahsen program verdiğim firmalarda tek bir güç kaynağından besleme yapılıyorsa, server için ayrı ufak bir güç kaynağı daha almalarını öneriyorum, olurda biri devreye giremezse diğeri olayı kurtarır bari diyorum. Zira veritabanına en çok zarar veren olay ani güç kesintisi oluyor.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#5
(02-09-2016, Saat: 12:46)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKötü bir durum, bu tip olaylar insanı paronayak yapıyor. Şahsen program verdiğim firmalarda tek bir güç kaynağından besleme yapılıyorsa, server için ayrı ufak bir güç kaynağı daha almalarını öneriyorum, olurda biri devreye giremezse diğeri olayı kurtarır bari diyorum. Zira veritabanına en çok zarar veren olay ani güç kesintisi oluyor.

Ancak ikinci bir güç kaynağı devreye girdiğinde doğru yapılandırılmaz ise toprak hattına faz farkından yükleme yaratıp tüm sunucuyu da götürebilliyor. Başına gelene kadar ihtimal vermiyorsun  Undecided
Cevapla
#6
(02-09-2016, Saat: 13:25)Analizci Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(02-09-2016, Saat: 12:46)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKötü bir durum, bu tip olaylar insanı paronayak yapıyor. Şahsen program verdiğim firmalarda tek bir güç kaynağından besleme yapılıyorsa, server için ayrı ufak bir güç kaynağı daha almalarını öneriyorum, olurda biri devreye giremezse diğeri olayı kurtarır bari diyorum. Zira veritabanına en çok zarar veren olay ani güç kesintisi oluyor.

Ancak ikinci bir güç kaynağı devreye girdiğinde doğru yapılandırılmaz ise toprak hattına faz farkından yükleme yaratıp tüm sunucuyu da götürebilliyor. Başına gelene kadar ihtimal vermiyorsun  Undecided

İşte paronayaklık dediğim buydu, o zaman en sonda makinanın önüne birde ufak bir regülator koyarız bizde Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#7
Veritabanı versiyonu (SQL Server değil) nedir ?
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Database'in Scriptini Alma. Mericx 9 912 07-03-2017, Saat: 16:30
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi