02-09-2016, Saat: 12:01
(Son Düzenleme: 05-11-2016, Saat: 10:41, Düzenleyen: Fesih ARSLAN.)
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
ş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
Projede 264 tane tablo çıkınca önce hatalı tabloları tespit et ve identity alanlarını değiştir bir hayli zamete soktu.
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 ?
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 ?

