在SQL server中可以使用链接服务器实现跨库访问。近期有客户使用SQL server需要进行跨库访问数据,以下使用SQL Server Management Studio (SSMS)创建链接服务器,并进行权限限制。

权限限制

在使用 Transact-SQL 语句时,需要在服务器上具有 ALTER ANY LINKED SERVER 权限,或需要具有 setupadmin 固定服务器角色中的成员身份。 使用 Management Studio 时,要求具有 CONTROL SERVER 权限,或者具有 sysadmin 固定服务器角色的成员身份。

新建链接服务器

1、通过mssm登录SQL server之后,打开‘服务器对象’–>右键点击‘链接服务器’新建链接服务器

2、在常规页面填写链接服务器IP地址或者域

3、在安全性页面选择可以登录的用户,指定可连接到链接服务器的本地登录。 本地登录可以是使用 SQL Server 身份验证的登录,也可以是使用 Windows 身份验证的登录。 不支持使用 Windows 组。 使用此列表可以将连接限定为特定的登录,也可以允许某些登录使用其他登录名进行连接。为了安全管理,此处添加可以使用链接服务器登录的用户,如果此处不添加用户默认对所有用户可见。

不建立连接不对列表中未定义的登录建立连接。不使用安全上下文建立连接对于列表中未定义的登录,不使用安全上下文建立连接。使用登录当前的安全上下文建立连接对于列表中未定义的登录,使用登录的当前安全上下文建立连接。 如果使用 Windows 身份验证连接到本地服务器,则使用 Windows 凭据连接到远程服务器。 如果使用 SQL Server 身份验证连接到本地服务器,则在连接到远程服务器时需要使用登录名和密码。 在这种情况下,远程服务器中必须存在名称和密码完全相同的登录。使用此安全上下文建立连接对于列表中未定义的登录,使用“远程登录”和“使用密码”框中指定的登录名和密码建立连接 。 远程登录必须是远程服务器中的 SQL Server 身份验证登录。

4、对于服务器选项,如果没有特殊需求,可以直接保持默认即可,点击确认创建链接服务器

5、创建完成之后,点击刷新

6、对于没有添加的用户是无法查看到创建的链接服务器的。

7、可以点击测试连接,查看是否可以使用链接服务器

8、使用链接服务器

SELECT name FROM [链接服务器名].master.sys.databases;

GO

修改已有链接服务器

对于已经存在的链接服务器添加或者删除用户。 1、右键选择已存在的链接服务器,然后选择属性

2、在安全性页面选择添加或者删除映射即可

3、点击确定之后刷新刷新链接服务器,对于删除的用户则无法查看到链接服务器(如果删除的用户具有比较高的数据库权限,虽然无法继续使用链接服务器,但是在链接服务器的的界面还是能看见链接服务器的存在。普通的用户)。新添加的用户在刷新之后就可以正常使用链接服务器。

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。