2016-04-14 71 views
0

我公司的某些用户无法连接到我们的某个服务器,但它们具有有效的登录名。某些用户已被拒绝访问SQL Server,但他们有效登录

以下是我在SQL服务器错误日志中收到的错误。

Message Error: 18456, Severity: 14, State: 11.
Login failed for user ''.
Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: 10.10.101.134]

当我将权限提升到系统管理员时,他们能够访问服务器;除此以外;他们无法登录到服务器。

回答

0

我曾经读过an excellent article on this by Mr. Pinal Dave

从博客引用答案下面

  1. 如果您看到登录失败的计算机帐户,那么你可能想给权限的计算机帐户。您需要运行T-SQL像下面(更换域名和机器名)

    CREATE LOGIN [<Domain>\<Machine account>$] FROM WINDOWS

  2. 如果它是一个Windows域用户帐户,那么它需要有连接权限

    GRANT CONNECT SQL TO [DOMAIN\User]

  3. 如果少数情况下,帐户是组(或许多组)的一部分,那么您需要确保没有通过组成员资格继承的“DENY”权限。

    SELECT sp.[name],sp.type_desc FROM sys.server_principals sp INNER JOIN sys.server_permissions PERM ON sp.principal_id = PERM.grantee_principal_id WHERE PERM.state_desc = 'DENY'

  4. 如果消息只自带的本地连接和同一账户精细远程工作那么它可能是一个UAC的问题。这意味着Elevation需要正确连接,但是没有看到任何正常提示。要使用高程(启动SSMS以连接到本地运行的SQL实例)右键单击 - >选择“以管理员身份运行”。

根据情况,四分之一,任何选项可能工作。