验证链接服务器 - SQL Server 8 到 SQL Server 10

验证链接服务器 - SQL Server 8 到 SQL Server 10

我们有一个老SQL 服务器 2000数据库必须保存,因为我们的制造机器需要它。它还保存着我们的员工记录,因为这些机器需要它们来供员工登录。

我们还有更新的SQL 服务器 10我们用于新开发的数据库(我认为这是 2008 年,但我不确定)。

我发现了一个我可以在SO上使用的查询提取记录,但我必须先链接两个服务器。微软的信息配置链接服务器也没有给我带来太多帮助。

关注 SF 帖子SQL Server 到 SQL Server 链接服务器设置,我尝试添加链接。

在我们的SQL 服务器 2000机器,我收到此错误:

SQL2000 错误

同样地,在我们的SQL 服务器 10机器,我收到此错误:

SQL10 错误

这些信息虽然措辞不同,但可能表达的是同一件事:我需要以某种方式进行身份验证。

我们有一个 Active Directory,但它位于另一台服务器上。

这里到底应该做什么?

一个男子>>这里<<说要检查安全设置,但没有说还要做什么。两台服务器都设置为SQL Server 和 Windows 身份验证模式

怎么办?

编辑:好的,蒂姆,我该怎么做呢?

查看管理工具->组件服务 MMC、计算机->我的电脑 - 分布式事务协调器->本地 DTC->安全。

我已远程进入 SQL Server 2000 计算机,但我看到的只有以下内容:

组件服务快照

编辑2:

因此,我无法在我们的旧 Windows 2000 Server(运行 SQL Server 2000)上找到它,但我在我们的 Windows 7 Server(运行 SQL Server 10)上找到了它。

辅助服务 7

我启用了设置,让服务重新启动,现在我要去做其他事情。

谢谢蒂姆!

答案1

在 SQL 2000 中配置链接服务器/分布式事务可能有点麻烦,因为 SQL 2000 仅支持匿名配置。这是一个已知的限制。

看着管理工具->组件服务 MMC,计算机->我的电脑->分布式事务协调器->本地 DTC->安全。

启用网络 DTC 访问,允许远程客户端和远程管理。为交易设置“无需身份验证”框。

那就可以了。

答案2

我认为处理此问题最简单的方法是在每台服务器(servera 和 serverb)上设置 2 个 SQL 登录名(logina 和 loginb),并在每个服务器上创建一个链接服务器。在 servera 上,更改链接服务器(serverb)的属性,然后转到“安全”选项卡。将单选按钮更改为“使用登录的安全上下文进行”,然后在“远程登录”和“使用密码”选项中输入“loginb”的 un/pw。

在 serverb 上,更改链接服务器 (servera) 的属性并转到“安全”选项卡。将单选按钮更改为“使用登录的安全上下文进行”,然后在“远程登录”和“使用密码”选项中输入“登录”的 un/pw。

这样您就可以使用 logina 的凭据从 serverb 向 servera 进行查询,反之亦然。从这里您只需向 server1 和 serverb 上的用户授予权限即可。

这种方法的缺点是,任何有权访问 serverb 的人都可以更改 logina 有权访问的 servera 上的数据,反之亦然,但配置应该比使用组件服务更简单。如果您将授权限制为仅读取,这将不是问题。

相关内容