我是SQL的初学者,所以我在MSDN描述中努力在Management Studio中创建链接服务器。
我想将SQL Server链接到另一个,以便使用ServerA上的ServerB到例如ServerB的所有内容。提供其他系统可以连接的一个位置。
两台服务器位于同一个域中,两台服务器内部都有多个数据库。
当我在常规点击中开始在ServerA上创建链接服务器时,我选择链接服务器的名称,并选择SQL Server作为服务器类型。 但是我在安全性方面做斗争。我在两台服务器上都有特权,所以在这里设置什么? 或者我应该为这种联系采取哪种角色?
我的计划是在ServerA上的某个DB中创建视图,同时还包含ServerB的内容。 将从某个AD服务用户推断出该视图。 我已经将此服务用户添加到存储视图的ServerA上的安全性。 我是否还必须在链接的ServerB上的某处添加此用户?
答案 0 :(得分:2)
我建议您使用Windows身份验证。激活Security Delegation。
在“安全”选项卡中,选择“添加”。选择Windows用户并选中“模拟”。
作为一种快速而肮脏的解决方案,您可以从选项列表中选择“使用此安全上下文制作”,并输入在远程服务器上有效的SQL登录。由于快速和肮脏的解决方案往往会持续,我强烈建议花一些时间进行模仿。
答案 1 :(得分:1)
最简单的方法是指定使用当前上下文建立连接,即用户登录ServerA:
EXEC master.dbo.sp_addlinkedserver @server = N'ServerB', @srvproduct=N'SQL Server'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ServerB',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
但是,假设访问链接服务器连接的用户在ServerB上具有正确的权限(问题的第2部分) - 否则您需要使用Martin K所描述的模拟。
答案 2 :(得分:1)
2. 出现“新建链接服务器”对话框。 (见下文)。
3. 对于“服务器类型”,请确保选中“其他数据源”。 (该 SQL Server选项将强制您指定文字SQL Server 名)
退出之前,请继续下一部分(定义安全性)
单击“确定”,然后创建新的链接服务器