网站是Windows 2003 +Dotnet 4.0+ SQL 2008,运行一直正常。今天IIS突然停止了,然后我改了一个SQL Server帐户sameSQL的密码,重启后,再浏览网站时就报错说“sameSQL”登录SQL Server失败。
  
  错误信息如下:
   请求路径: /Default.aspx 
    用户:  
    是否已经过身份验证: False 
    身份验证类型:  
    线程帐户名: NT AUTHORITY\NETWORK SERVICE
    异常信息: 
    异常类型: SqlException 
    异常消息: 用户 'sameSQL' 登录失败。
    
    
其中网站web.config中的SQL server 数据库字符串如下:
   <connectionStrings>
    <remove name="aspnetdbConnectionString" />
    <add name="aspnetdbConnectionString" connectionString="Data Source=localhost;Initial Catalog=cardata;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
  
  
  我很奇怪,我一直理解为:ASP.net 登录SQL server是使用的NETWORK SERVICE帐户,而它报错时,登录失败的帐户却是SQL中的sameSQL帐户。
  
  请问,这个是怎么回事? ASP.Net不是使用NETWORK SERVICE帐户登录SQL Sever吗?
  IIS6.0哪里能指定ASP.Net使用哪个帐户登录SQL Server?
  

解决方案 »

  1.   


    1 打开SQL Server企业管理器。
    2 选择服务器名称上右键选择“编辑SQL Server注册属性”,然后在对话框中选择“使用windows身份验证”。
    3 试试一试,不行。在看看安全性设置
    4 同样右键,选择“属性”,然后打开“安全性”选项卡。
    5 在选项卡中,选择身份验证为“SQL Server和 Windows ”,其他不变
      

  2.   

    把你的Data Source=IP,试试看!
      

  3.   

    IIS身份验证方法里选择集成windows身份验证。
      

  4.   

    终于搞明白了,原来是SQL server的 可更新订阅的帐户密码出了问题。