FIX: Error 4409 Generated When Using Multiple Database Views
Article ID: 151590
Article Last Modified on 10/16/2003
APPLIES TO
- Microsoft SQL Server 6.0 Standard Edition
- Microsoft SQL Server 6.5 Standard Edition
This article was previously published under Q151590
BUG#: 14645 (6.00)
SYMPTOMS
Under certain conditions, you may receive 4409 errors.
CAUSE
The problem arises when the first view in the chain of views can be
executed but subsequent views are unavailable for use. For example:
If you have viewA and viewC in the master database and viewB in the pubs
database, where viewA selects * from viewB and viewB selects * from viewC
and viewC selects * from sysdatabases. And, SQL Server has been stopped
while a client continues to try to execute a select * from viewA. When SQL
Server is restarted, the master database is always recovered first and then
the subsequent databases. As soon as master is recovered, the client
attempts to execute the select and receives the 4409 error because pubs has
not yet been recovered.
The same behavior can occur when you take a database on and offline, or you
try to drop and create viewC in the above scenario while someone is trying
to access it.
WORKAROUND
Drop and add the views when you are sure no one is accessing them.
STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server
versions 6.0 and 6.5. This problem has been corrected in U.S. Service Pack
1 for Microsoft SQL Server version 6.5. For more information, contact your
primary support provider.
Keywords: kbbug kbfix KB151590