未经作者允许。不论什么人不得以“原创”形式公布,也不得已用于商业用途。本人不负责不论什么法律责任。
前一篇:http://blog.****.net/dba_huangzj/article/details/38398813
前言:
链接server(Linked Server)能够使两个不同的SQL Server实例甚至和其它类型的RDBMS进行互訪。通过链接server,能够实现分布式查询,相似于一个应用程序,把连接目标server的连接字符串预存起来。
链接server能够引用远端的SQL Server。或者随意支持已经装在SQL Server所在机器上的OLEDB Provider的其它数据源。
当创建链接server时。有一些注意事项须要考虑。会在本文中介绍
实现:
1. 在SQL Server Management Studio中,打开【server对象】节点,右键【链接server】,点击【新建链接server】:
2. 选择名称和数据provider。
假设目标server页尾SQL Server,输入目标server的实例名并选择SQL Server作为server类型:
原文出处:http://blog.****.net/dba_huangzj/article/details/38438363
3. 在【安全性】页。映射必须的登录帐号,假设本地和远程登录具有同样帐号名和password,能够勾选【模拟】,这样SQL Server就不须要存储password到配置中:
4.选择怎样处理没有定义在映射列表中的帐号:
不建立连接(Not be made) | 指定不正确列表中没有定义的登录建立连接。 |
不使用安全上下文建立连接(Be made without using a security context) | 指定对于列表中没有定义的登录。不使用安全上下文建立连接。 |
使用登录名的当前安全上下文建立连接(
Be made using the login's current security context) |
指定对于列表中没有定义的登录。使用登录的当前安全上下文建立连接。
假设使用 Windows 身份验证连接到本地server,则使用 Windows 凭据连接到远程server。 假设使用 SQL Server 身份验证连接到本地server,则在连接到远程server时须要使用登录名和password。 在这样的情况下,具有全然同样的名称和password的登录必须存在于远程server中。 |
使用此安全上下文建立 (Be made using this security context) | 指定对于列表中没有定义的登录,使用 “远程登录”和 “使用password”框中指定的登录名和password建立连接。
远程登录必须是远程server中的 SQL Server 身份验证登录。 |
原文出处:http://blog.****.net/dba_huangzj/article/details/38438363
原理:
链接server把连接字符串存储在SQL Server实例中。能够定义怎样訪问链接server。
从安全性观点考虑,最好在映射列表中限制訪问,并选择【不建议连接】。
原文出处:http://blog.****.net/dba_huangzj/article/details/38438363
很多其它:
假设使用client连接SQL Server并通过链接server执行查询。或者通过模拟列表来执行。那么必须进行配置:
- Windows 帐号必须有权限訪问链接server。在活动文件夹中(Active Directory),【Account is sensitive and cannot be delegated 】选项不能选中。
- 每一个server在域环境中都必须已经注冊了SPN,而且SQL Server服务的帐号必须在活动文件夹中为【trusted for delegation】