曾经在Win2000 Advanced Server + IIS 5.0 + VS.NET 2003 + SQL 2000环境下写的一部分程序调试过程正常,在Win Server 2003 + IIS 6.0 + VS.NET 2003 + SQL 2000环境中却无法调试,调试(debug)时系统曾提示过“未将项目设置为调试”、“不是Debugger Users组的成员,无权限”等。在我使用“运行(不调试)”启用页面时,倒是可以正常在IE中显示,但是在触发一个按钮click事件时又提示“应用程序中的服务器错误”“用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。”我仔细的检查过该项目、IIS、SQL、计算机的本地用户和组,确认项目就是设置为调试,administrator用户和ASPNET用户也已经全部加入到Debugger Users组中。这个问题已经困扰我三天了,因为做课程设计很是着急,并且发现去机房中的机器也发生了类似的情况,当然,本来正常的项目文件我从没有用移植到别的环境中的文件拿回来覆盖过。小弟恳求各方高手伸手相助!!将不胜感激!!!!谢谢!!!!

解决方案 »

  1.   

    在创建从 ASP.NET 到 SQL Server 的受信任数据连接时收到“Login Failed”(登录失败)错误信息
    ----------------------------------------
    症状:在创建从 ASP.NET 到 SQL Server 的受信任连接时,可能会收到以下错误信息:
    Login failed for user 'MachineName\ASPNET对于运行 Internet 信息服务 (IIS) 6.0 的计算机,可能会收到以下错误信息:
    Login failed for user 'NT AUTHORITY\NETWORK SERVICE'注意:特别是在使用集成安全性(在连接字符串中包括 integrated security=sspi 属性)时,会收到上述两个错误信息之一。
      

  2.   

    原因:当您使用 ASP.NET 时,对于 Aspnet_wp.exe(或者对于在 IIS 6.0 上运行的应用程序而言,为 W3wp.exe)和发往 SQL Server 的请求,默认的安全上下文都是 aspnet_wp 帐户(或者对于在 IIS 6.0 上运行的应用程序而言,为 NetworkService 帐户)。默认情况下,aspnet_wp 帐户(或者对于在 IIS 6.0 上运行的应用程序而言,为 NetworkService 帐户)在 SQL Server 中没有任何权限,因此它不能访问数据库。
      

  3.   

    解决方案
    要解决此问题,请使用下列方法之一:• 方法 1. 以编程方式将 ASP.NET 辅助进程的安全上下文更改为具有正确 SQL Server 权限的用户。 
    • 方法 2. 更改 ASP.NET 的默认配置,以便 ASP.NET 辅助进程在满足以下条件的用户的上下文中启动和运行:该用户在 SQL Server 中具有正确的权限。 
    • 方法 3. 授予在 SQL Server 上的正确权限,以便 aspnet_wp 帐户(或者对于在 IIS 6.0 上运行的应用程序而言,为 NetworkService 帐户)具有访问所需资源的适当权限。 
      

  4.   

    可是我怎么没找到NetworkService这个用户呢?还有,我怎么才能使用调试模式运行页面呢?谢谢啦!!!!!
      

  5.   

    string myConn="server=(local);database=test;User=sa;Pwd=1234";
    你的数据库链接字符串是不是这类?