MS SQL:用SSMS创建链接服务器最简单/最好的方法是什么?

时间:2014-06-06 07:47:37

标签: sql sql-server

我是SQL的初学者,所以我在MSDN描述中努力在Management Studio中创建链接服务器。

我想将SQL Server链接到另一个,以便使用ServerA上的ServerB到例如ServerB的所有内容。提供其他系统可以连接的一个位置。

两台服务器位于同一个域中,两台服务器内部都有多个数据库。

当我在常规点击中开始在ServerA上创建链接服务器时,我选择链接服务器的名称,并选择SQL Server作为服务器类型。 但是我在安全性方面做斗争。我在两台服务器上都有特权,所以在这里设置什么? 或者我应该为这种联系采取哪种角色?

我的计划是在ServerA上的某个DB中创建视图,同时还包含ServerB的内容。 将从某个AD服务用户推断出该视图。 我已经将此服务用户添加到存储视图的ServerA上的安全性。 我是否还必须在链接的ServerB上的某处添加此用户?

3 个答案:

答案 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)

  1. 在服务器对象中=>右键单击“新建链接服务器”
  2. enter image description here

    2. 出现“新建链接服务器”对话框。 (见下文)。enter image description here

    3. 对于“服务器类型”,请确保选中“其他数据源”。 (该     SQL Server选项将强制您指定文字SQL Server     名)

    • 键入描述链接服务器的友好名称(不含空格)。 - 选择“Microsoft OLE DB Provider for SQL Server”
    • 产品名称 - 类型:SQLSERVER(不含空格)
    • 数据源 - 使用以下约定键入实际服务器名称和实例名称:SERVERNAMEINSTANCENAME
    • ProviderString - 空白
    • 目录 - 可选(如果输入,则使用您将使用的默认数据库)
    • 退出之前,请继续下一部分(定义安全性) enter image description here

    • 单击“确定”,然后创建新的链接服务器