首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用缓存的凭据跨越域边界连接到SQL 2005

使用缓存的凭据跨越域边界连接到SQL 2005
EN

Stack Overflow用户
提问于 2008-08-22 14:28:18
回答 3查看 1.8K关注 0票数 3

自从一段时间前在我的开发机器上迁移到Vista之后,从SSMS之类的客户端工具连接到DMZ活动目录域中的SQL服务器就不再像以前那样工作了。在XP中,只要我在服务器上以某种方式进行了身份验证(例如,将资源管理器引导到\server.dmzdomain\c$并在登录提示符中输入有效的creds ),SSMS就会使用那些缓存的凭据进行连接。

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

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

EN

回答 3

Stack Overflow用户

发布于 2008-10-04 14:49:29

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

在这种情况下,客户端可能进行tcp控制,另外,在本地管理或非管理计算机帐户下运行,无论SPN注册与否,SQL Server显然无法识别客户端凭据。

这里的解决办法是:

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

让我们更详细地解释:

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

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

到目前为止,SQL只处理作为Server内sysadmin角色一部分的用户。要允许其他用户(非sysamdin)访问网络资源,您必须设置代理帐户。看一看这篇文章,了解更多信息。取自http://blogs.msdn.com/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx

票数 1
EN

Stack Overflow用户

发布于 2008-08-25 14:16:34

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

票数 0
EN

Stack Overflow用户

发布于 2008-09-03 06:46:32

我认为这是因为Vista运行的大多数应用程序都是独立于其他应用程序的。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档