Düzeltme: Tutarlılık hatası içinde tablo oluşturma, satır ekleme ve dizin oluşturma kısıtlaması ekleme tarafından izlenen bir işlem iç neden

Makale çevirileri Makale çevirileri
Makale numarası: 286749 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 351939 (SHILOH_bugs)
Hepsini aç | Hepsini kapa

Belirtiler

Bir hareket açmak, bir tablo oluşturmak, satır ekleme, tablo üzerinde bir dizin oluşturmak, hareketi tamamlamak ve sonra bir kısıtlama eklemek, bir sonraki DBCC CHECKTABLE tutarlılık hataları bildirebilir. DBCC CHECKTABLE benzer sonuçlar döndürebilir:
Sunucu: <a1>hata</a1> 8970, Düzey 16, State 1, satır 2
Hata satır: KIMLIĞI 2041058307 nesne, KIMLIĞI 0 dizin, <a1>KIMLIK</a1> (1:77) sayfasında, <a1>KIMLIK</a1> 0 satır. Sütun 'LastModified' oluşturuldu NOT NULL, ancak bu satırda NULL olur.
Sunucu: <a1>hata</a1> 8970, Düzey 16, State 1, satır 2
Hata satır: KIMLIĞI 2041058307 nesne, <a1>KIMLIK</a1> 0 dizin, <a1>KIMLIK</a1> (1:77) sayfasında, KIMLIĞI 1 satır. Sütun 'LastModified' oluşturuldu NOT NULL, ancak bu satırda NULL olur.
Sunucu: <a1>hata</a1> 8970, Düzey 16, State 1, satır 2
Hata satır: KIMLIĞI 2041058307 nesne, <a1>KIMLIK</a1> 0 dizin, <a1>KIMLIK</a1> (1:77) sayfasında, KIMLIĞI 2 satır. Sütun 'LastModified' oluşturuldu NOT NULL, ancak bu satırda NULL olur.
DBCC sonuçları için '# TableX_____________________________000000000011'.
'# TableX______________________________________________000000000011' nesnesi için 1 sayfa 0 bir satır vardır.
CHECKTABLE, tabloda '# TableX________________________000000000011' (nesne KIMLIĞI 2041058307) 0 ayırma hataları ve 3 tutarlılık hataları bulundu.
REPAIR_ALLOW_DATA_LOSS DBCC CHECKTABLE (tempdb.dbo.#TableX________________________________________000000000011) tarafından bulunan hataları için en az bir onarım düzeydir.

Aşağıdakine benzer BIR ileti SQL Server hata günlüğüne kaydedilir:
(tempdb.dbo.#TableX______________________________000000000011) tarafından <domain>\<user>yürütüldü. 3 hatalar buldu ve 0 hataları onarıldı.

Çözüm

Bu sorunu gidermek için <a0></a0>, SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211BILGI: en son SQL Server 2000 hizmet paketi nasıl elde edilir

Pratik Çözüm

Bu soruna geçici bir çözüm için aşağıdaki yöntemlerden birini kullanın:
  • Hareketi tamamlamak sonra dizin oluşturun.
  • Bir değer, dizini oluşturduktan sonra ve hareket kapatmadan önce tabloya yerleştirin.
  • Bir değer, hareketi tamamlamak sonra ve bir kısıtlama eklemek için önce tabloya yerleştirin.

Durum

Microsoft SQL Server 2000'de bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak SQL Server 2000 Service Pack 1'de giderilmiştir.

Daha fazla bilgi

Sorunu yeniden oluşturmak için <a0></a0>, aşağıdaki komut dosyasını çalıştırın:
begin tran
create table #TableX (Col1 varchar(20))
insert #TableX values ('A')
insert #TableX values ('B')
insert #TableX values ('C')
create index ix_Col1 on #TableX(Col1)  -- works fine when this is moved after the commit
--insert #TableX values ('D') -- or when this is uncommented
commit

--insert #TableX values ('D') -- or when this is uncommented

alter table #TableX add LastModified datetime not null constraint cn_Enabled default getdate()
go
select * from #TableX
dbcc checktable(#TableX)
go
drop table #TableX
				

Özellikler

Makale numarası: 286749 - Last Review: 17 Ekim 2003 Cuma - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286749 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:286749

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com