Microsoft KB Archive/115333

= BUG: Recreating a Table Causes sysdepends to Become Invalid =

Article ID: 115333

Article Last Modified on 2/22/2005

-

APPLIES TO


 * 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

-



This article was previously published under Q115333



BUG #: 10215 (4.21a) BUG #: 16652 (SQLBUG_65) BUG #: 57903 (SQLBUG_70) BUG #: 56127 (SHILOH)



SYMPTOMS
If a stored procedure or view depends on a table that has been dropped, sysdepends will continue referencing the old ID of the table as a dependent, even if this ID does not exist any more. As a result, sp_depends will not show the correct object dependency.



WORKAROUND
Drop and recreate the stored procedure or view. The entries for sysdepends will be properly recreated.



STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



MORE INFORMATION
The following is an example of the problem. First, create the table and procedure referencing that table.

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

Now drop the table, and recreate it using the same name. Then new object id.

  drop table testx go  create table testx (c int) go  select id from sysobjects where name = "testx"

  id   --- 512004855

A query against sysdepends shows that the dependent object id is not updated.

  select id, depid from sysdepends where id = 480004741

  id          depid -- --   480004741   464004684

Additional query words: Windows NT

Keywords: kbbug KB115333

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.