自从我的开发机器转移到Vista之后,从SSMS等客户端工具连接到DMZ活动目录域中的SQL Server并没有像以前那样工作。 在XP中,只要我在服务器上以某种方式进行了身份验证(例如将Explorer指向\\ server.dmzdomain \\ c $并在登录提示中输入有效的信用卡),SSMS就会使用这些缓存的凭据进行连接。

但是,自从切换到Vista后,当尝试将SSMS连接到DMZ域中的服务器时,我收到用户''登录失败的消息 用户未与受信任的SQL Server连接关联。 如果我更改连接选项以使用命名管道而不是默认的TCP / IP,我的缓存凭据将被发送,一切正常。 无论Windows防火墙是打开还是打开,并且与我们内部域中的服务器(我的开发PC所在的域)的连接都可以在TCP / IP或命名管道上正常工作。

我不介意使用这些连接的命名管道作为一种解决方法,但似乎TCP / IP是推荐的连接方法,我不喜欢不理解为什么它不能像我期望的那样工作。 有任何想法吗?

===============>>#1 票数:1

“用户'登录失败,用户未与受信任的SQL Server连接关联”。

在这种情况下,客户端可以进行tcp连接,加上在本地管理员或非管理员机器帐户下运行,无论SPN是否注册,SQL Server显然都无法识别客户端凭证。

这里的解决方法是:

在目标SQL Server计算机上使用相同密码创建与客户端计算机上的帐户相同的帐户,并为该帐户授予适当的权限。

让我们更详细地解释一下:

当您在两个工作站上创建相同的NT帐户(让我们称之为usr1)时,您基本上连接并模拟连接站的本地帐户。 即,当您从station1连接到station2时,您将通过station2的帐户进行身份验证。 因此,如果您将SQL Server的启动帐户(让我们假设它在station2上运行)设置为station2的usr1,当您使用station1的usr1登录从station1连接到SQL时,SQL将验证您为station2的usr1。

现在,在SQL中,您肯定可以访问station1的资源。 但是,访问权限取决于station1的usr1权限。

到目前为止,SQL仅处理属于SQL Server中sysadmin角色的用户。 要允许其他用户(非sysamdin)访问网络资源,您必须设置代理帐户。 请查看该文章以获取更多信息。 取自http://blogs.msdn.com/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx

===============>>#2 票数:0

您是否尝试在提升模式下运行SSMS,并且您是否在客户端上安装了最新的SP?

===============>>#3 票数:0

我认为这是因为Vista将大多数应用程序与其他应用程序隔离开来。

我建议您设置DMZ用户名和密码以匹配内部域用户名和密码,或使用命名管道进行连接。

  ask by Mike Powell translate from so

未解决问题?本站智能推荐: