我正在不同地理位置之间实现数据库复制,每个地理位置都在不同的域中。完成所有过程后,当我启动代理时,它会运行并停止。
当我查看详细信息时,它显示:
Error messages:
The process could not connect to Subscriber 'Mydomain\myusername'. (Source: MSSQL_REPL, Error number: MSSQL_REPL20084)
Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. (Source: MSSQLServer, Error number: 18452)
通过配置传递身份验证,可以使用 Windows 身份验证跨不受信任的域或工作组进行复制。
在具有相同用户名和密码的发布者和订阅者上创建本地 Windows 帐户。将此帐户用于复制代理进程帐户,并让与发布者、分发者和/或订阅者的连接模拟此帐户。确保帐户具有Replication Agent 安全模型中所需的权限。
此方法在如何使用 Windows 身份验证设置在不受信任域中运行 SQL Server 的两台计算机之间设置复制如何:在不受信任域中或跨 Internet 中运行 SQL Server 的计算机之间复制部分中介绍。
这是失败的,因为这两个域彼此不信任。因此,在一个域中的帐户下执行的进程无法使用 Windows 身份验证连接到另一个域中的 SQL Server。为了解决这个问题,您有三个选择:
在两个域之间建立信任关系。
使用路径身份验证。(在拓扑中的所有计算机上创建一个具有相同用户名和密码的 Windows 帐户。)
设置复制时使用 SQL 身份验证进行跨域连接。
我的复制阶梯文章逐步介绍了设置 SQL Server 复制,并包含有关不同进程使用的不同安全凭据的详细信息。虽然 Stairway 不是设置跨域安装的分步指南,但您应该在其中找到足够的信息来解决这个问题。
首先,您需要在网络管理员的帮助下设置不同域上的这两个服务器之间的连接,并更新 DNS 条目。