服务器 A (SQL2005) 在我们的主域中,但服务器 B (SQL2000) 只是在 Windows 工作组中。我们不允许将其加入域,否则会发生坏事......
我们也无法在服务器 B 上启用 SQL 身份验证。
我们有 A 的域帐户,以及服务器 B 上的匹配本地帐户。
我可以使用 SSMS 和域登录从本地 PC 或 A 连接到 B,但我无法连接链接服务器。
任何想法如何做到这一点?
服务器 A (SQL2005) 在我们的主域中,但服务器 B (SQL2000) 只是在 Windows 工作组中。我们不允许将其加入域,否则会发生坏事......
我们也无法在服务器 B 上启用 SQL 身份验证。
我们有 A 的域帐户,以及服务器 B 上的匹配本地帐户。
我可以使用 SSMS 和域登录从本地 PC 或 A 连接到 B,但我无法连接链接服务器。
任何想法如何做到这一点?
您的 SQL Server A 将根据正常的链接服务器身份验证规则在链接服务器连接上进行身份验证:
这是您的两个选项,您施加的限制会消除这两个选项。您必须回到绘图板并审查您的要求和约束,因为现在您已经非常明确地将自己置于不可能的位置。一些替代方案是:
试试这个:
在命令提示符处使用以下命令启动 SQL Server Management Studio:
runas /netonly /user:targetdomain\targetuser "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Ssms.exe"
将上面的targetdomain替换为远程SQL服务器所在的AD域,将targetuser替换为具有SQL权限的AD用户名。此外,上述 SQL Management Studio 的路径在您的计算机上可能不同 - 相应地替换您的路径。
它将提示输入 AD 用户密码。必须输入密码,不能轻易编写脚本(现在不讨论,有一些 vbscript 解决方案可以绕过密码)。
以上所做的是将您的本地管理工作室程序“作为”目标域上的 AD 用户运行。现在您可以使用当前登录的安全上下文创建一个常规的“SQL Server”链接服务器......但是我们正在欺骗它以为您在远程域上。
很光滑,嗯!
有一些明显的缺点,但它可以完成工作。
——埃里克