Oprava: Vytvoření tabulky, vkládání řádků a vytváření indexu uvnitř transakce, sledovaný podle přidání omezení může vést v chyby konzistence

Překlady článku Překlady článku
ID článku: 286749 - Produkty, které se vztahují k tomuto článku.
Chyba #: 351939 (SHILOH_bugs)
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Při otevření transakce, vytvoření tabulky, Vložit řádky, vytvořit index v tabulce, potvrzení transakce a potom přidat omezení, mohou následné CHECKTABLE DBCC oznamovat chyby konzistence. CHECKTABLE DBCC mohou vracet výsledky podobné:
Server: Zpráva 8970, úroveň 16 stavu 1, řádek 2
Řádek chyba: objekt ID 2041058307, index ID 0, stránka ID (1:77), ID 0 řádků. Byl vytvořen sloupce změněno NOT NULL, ale v řádku je NULL.
Server: Zpráva 8970, úroveň 16 stavu 1, řádek 2
Řádek chyba: objekt ID 2041058307, index ID 0, stránka ID (1:77), ID 1 řádek. Byl vytvořen sloupce změněno NOT NULL, ale v řádku je NULL.
Server: Zpráva 8970, úroveň 16 stavu 1, řádek 2
Řádek chyba: objekt ID 2041058307, index ID 0, stránka ID (1:77), ID 2 řádku. Byl vytvořen sloupce změněno NOT NULL, ale v řádku je NULL.
Výsledky DBCC "# TableX_____________________________000000000011".
V 1 stránek pro objekt '# TableX______________________________________________000000000011' nejsou 0 řádků.
CHECKTABLE nalezen 0 přidělení chyby a chyby 3 konzistence v tabulce '# TableX________________________000000000011"(objekt ID 2041058307).
repair_allow_data_loss je úroveň minimální opravy pro chyby nalezené pomocí DBCC CHECKTABLE (tempdb.dbo.#TableX________________________________________000000000011).

Protokol chyb serveru SQL Server zaznamenána zpráva podobná následující:
provedeny <domain>\<user>(tempdb.dbo.#TableX______________________________000000000011) nalezen 3 chyby a opravit chyby 0.

Řešení

Tento problém vyřešíte pomocí nejnovější aktualizace service pack pro SQL Server 2000. Další informace získáte následujícím článku báze Microsoft Knowledge Base:
290211Soubor INF: Jak získat nejnovější aktualizaci Service Pack pro SQL Server 2000

Jak potíže obejít

Chcete-li tento problém vyřešit, použijte některou z následujících metod:
  • Vytvořte index po potvrzení transakce.
  • Vložit hodnotu do tabulky po vytvoření indexu a před zavřením transakce.
  • Vložit hodnotu do tabulky po potvrzení transakce, a před přidáním omezení.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém na serveru SQL Server 2000. Tento problém byl poprvé opraven v aktualizaci SQL Server 2000 Service Pack 1.

Další informace

Chcete-li problém reprodukovat, spusťte následující skript:
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
				

Vlastnosti

ID článku: 286749 - Poslední aktualizace: 17. října 2003 - Revize: 3.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2000 Standard Edition
Klíčová slova: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286749 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:286749

Dejte nám zpětnou vazbu

 

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