FIX: SQL Breakpoint Not Hit After Executing SP in Another DB

ID: Q165420


The information in this article applies to:
  • Microsoft Visual C++, 32-bit Enterprise Edition, version 5.0


SYMPTOMS

The SQL Debugger may fail to stop at breakpoints that are set after a call to a stored procedure from a database (other than the current one) is executed.


CAUSE

The call to the stored procedure in the secondary database changes the context of SQL Server to that database.

The SQL Debugger cannot find breakpoints that were set in the context of the previous database and fails to break on them.


RESOLUTION

Work around this by placing a call to a stored procedure that resides in the same database as the stored procedure you were initially debugging.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was corrected in Visual C++ version 6.0 for Windows.


REFERENCES

Sample Code


   /* Sample SP which shows the problem */ 
   Create Procedure sp_MySP
   As
   SELECT * FROM employee

   /* Breakpoints set after this call will not be hit */ 
   EXEC OtherDB.dbo.sp_SomeSP

   SELECT * FROM Authors

   RETURN (0)

   -----------
   /* Sample SP with a workaround */ 
   /* Add one line of code */ 

   Create Procedure sp_MySP
   As
   SELECT * FROM EMPLOYEE

   EXEC OtherDB.dbo.sp_SomeSP

   /* This causes the database context to be changed back to original */ 
   /* Breakpoints will now be hit */ 
   EXEC sp_MySP2

   SELECT * FROM Authors

   RETURN (0)

   /* Stored procedure called from above */ 

   Create Procedure sp_MySP2
   As
   RETURN (0)  

Additional query words:

Keywords : kbcode kbprg kbDebug kbEEdition kbSQLServ kbVC kbVC500bug kbVC600fix
Version : WINDOWS:5.0
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: May 28, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.