none
登录SQL Server失败 RRS feed

  • 问题

  • 服务器环境:
    Windows Server 2008 x64
    sql server 2008(在另一个服务器上)
    IIS
    我在vs2008中只用visual studio development server的时候没有任何问题,运行良好。然后我把server改成本地IIS服务器,这时候数据库就无法登录了。错误信息:
                     Login failed for user 'xxxx'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors.
                     Error: 18456, Severity: 14, State: 11.
    使用的是Windows authentication,而且sql server 配置成只能通过Windows authentication访问。而且更奇怪的是,上面的'xxxx'并不是我使用的用户名,而是我的计算机的名字,这是怎么回事?

    希望能尽快得到解答,谢谢。
    2010年1月4日 12:01

答案

  • 在数据库中将你的当前计算机用户添加到sql server 的登录名中
    USE [master]
    GO
    CREATE LOGIN [计算机名] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 Tong Da 2010年1月5日 3:51
    2010年1月5日 2:03
  • Thank you for your reply. The  problem has been solved.
    The reason of the problem is that:
    1. as Raymond Tang wrote, the domain that IIS running on need to be add into logins of sql server;
    2. if I want to use 'sa' to logon sql server, I need to modify the connection string in settings.Designer.cs, not the app.config.
    • 已标记为答案 Tong Da 2010年1月5日 3:51
    2010年1月5日 3:51

全部回复

  • How did you logon to sql server? In ssms? Is sql instance name correct? Did you create sql login for windows account you use? Check this link: http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/c3e0713c-b4e6-400e-9ba2-448cd5bf3cb8
    2010年1月4日 17:36
  • 在数据库中将你的当前计算机用户添加到sql server 的登录名中
    USE [master]
    GO
    CREATE LOGIN [计算机名] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO


    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!My blog~~~
    • 已标记为答案 Tong Da 2010年1月5日 3:51
    2010年1月5日 2:03
  • I connect to sql server in C# code. In ssms, I can logon to sql server, but when I browse my web application in browser, it throws the error.
    I have read the page that you offer before I ask my question. But in my os(Win2008), the UAC is off by default, and I have checked that.

    2010年1月5日 3:00
  • CREATE LOGIN [计算机名] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    这个计算机名是什么意思?
    我在SSMS中是可以用Windows Authentication登录的,但是在我的Web Application中无法连接数据库。我怀疑是我的IIS在连接数据库的时候,使用的用户权限不够,但是我不知道怎么改。我已经把SQL Server的登录方式改成混合的了,用SA用户登录,但是错误是一样的。

    2010年1月5日 3:06
  • What's connection string in your web app? What's web service account? Did you create sql login for that account?

    2010年1月5日 3:30
  • Thank you for your reply. The  problem has been solved.
    The reason of the problem is that:
    1. as Raymond Tang wrote, the domain that IIS running on need to be add into logins of sql server;
    2. if I want to use 'sa' to logon sql server, I need to modify the connection string in settings.Designer.cs, not the app.config.
    • 已标记为答案 Tong Da 2010年1月5日 3:51
    2010年1月5日 3:51