Chyba: Opětovného vytvoření sysdepends způsobuje tabulky se stane neplatný

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.

115333
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
BUG #: 10215 (4.21a)BUG #: 16652 (SQLBUG_65)BUG #: 57903 (SQLBUG_70)BUG #: 56127 (SHILOH)		
Příznaky
Pokud uložené procedury nebo zobrazení závisí na tabulku, která byla vypuštěna, sysdepends bude pokračovat odkazující původní účet tabulky jako závislé, i když toto neexistuje žádné více. V důsledku toho sp_depends nezobrazí závislost správný objekt.
Jak potíže obejít
Přetažení a znovu vytvořte zobrazení nebo uloženou proceduru. Položky sysdepends bude správně znovu vytvořena.
Prohlášení
Společnost Microsoft potvrzuje, že se to být problém v produktech společnosti uvedených na začátku tohoto článku. Jsme se tento problém zkoumá a zaúčtuje nové informace v Knowledge Base jako k dispozici.
Další informace
Následuje příklad problému. Nejprve vytvořte tabulku a postupu odkazující tabulky.
   create table testx (c int)   go   create procedure procx as select * from testx   go    select name, id from sysobjects where (name = "testx")   or (name = "procx")   go				

   name                           id   -----------------------------  ----------   testx                          464004684   procx                          480004741				

Nyní tabulku a znovu vytvořit pomocí stejný název. Potom nové id objektu.
   drop table testx   go   create table testx (c int)   go   select id from sysobjects where name = "testx"				

   id   -----------   512004855				

Dotaz proti sysdepends zobrazuje id závislý objekt není aktualizován.
   select id, depid from sysdepends where id = 480004741				

   id          depid   ----------  ----------   480004741   464004684				

Windows NT

Upozornění: Tento článek byl přeložen automaticky

Vlastnosti

ID článku: 115333 - Poslední kontrola: 02/28/2014 21:56:31 - Revize: 3.3

  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug KB115333 KbMtcs
Váš názor