FIX: You cannot step into a stored procedure from ASP.NET code on Windows Server 2003 (316569)
The information in this article applies to:
- Microsoft Visual Basic .NET (2002)
- Microsoft Visual C# .NET (2002)
- Microsoft ADO.NET (included with the .NET Framework)
- the operating system: Microsoft Windows Server 2003
This article was previously published under Q316569 SYMPTOMS On Windows Server 2003, if Microsoft Internet Information
Services (IIS) 6.0 runs in Worker Process Isolation Mode (WPIM) mode, you cannot step from managed code
into a Microsoft SQL Server stored procedure while you debug in the Visual
Studio .NET integrated development environment (IDE).
You do not
receive any error messages. However, the stored procedure window does not
appear while you step through the ASP.NET code. CAUSE When you invoke SQL debugging, the debugger creates a
shared memory segment of debugging information. Multiple processes that are
involved in debugging stored procedures can use this debugging
information.
However, only local administrators and the SYSTEM
account have permission to access this shared memory segment. The client
process that is being debugged (IIS 6.0 [W3WP.exe]), which runs in the security
context of the NETWORK_SERVICE account, cannot access this shared memory
segment and therefore cannot enable SQL debugging. RESOLUTION Use one of the following methods to work around this
problem:
- Run IIS 6.0 in IIS 5.0 isolation mode. When IIS 6.0 runs in IIS 5.0 isolation
mode, IIS runs in the security context of the SYSTEM account. This gives IIS
access to the shared memory segment so that IIS can enable SQL debugging. By
default, IIS 6.0 is installed to run in Worker Process Isolation Mode (WPIM) mode. To change this setting, follow these steps:
- Open the IIS manager.
- Right-click Web Sites, and then click Properties.
- Click the Service tab, and then click to select the Run WWW service in IIS 5.0 isolation mode check box.
Note that when you
change this setting, you must restart IIS. - Change permissions. In a secure testing environment, you
can add the NETWORK_SERVICE account to the local administrators group to give
this account access to the shared memory segment. However, Microsoft strongly
discourages this approach for security reasons.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
This bug was corrected in Microsoft Visual Basic .NET 2003, Microsoft Visual C# .NET 2003, and ADO.NET (included with the .NET Framework 1.1).
Modification Type: | Major | Last Reviewed: | 7/10/2006 |
---|
Keywords: | kbvs2002sp1sweep kbfix kbBug kbDebug kbnofix kbStoredProc kbTSQL KB316569 kbAudDeveloper |
---|
|