EXEC sp_addlinkedserver @server = '远程服务器名', @srvproduct = '', @provider = 'SQLNCLI', @datasrc = '远程服务器IP或名称';
网友分享1
在SQL Server中创建链接服务器最简单的方法就是使用sp_addlinkedserver存储过程。比如:EXEC sp_addlinkedserver 'LINKED_SERVER', ' ', 'SQLNCLI', '远程服务器IP'。然后用sp_addlinkedsrvlogin添加登录映射:EXEC sp_addlinkedsrvlogin @rmtsrvname = 'LINKED_SERVER', @useself = 'false', @locallogin = NULL, @rmtuser = 'sa', @rmtpassword = '密码'。测试连接:SELECT * FROM [LINKED_SERVER].[数据库名].[dbo].[表名]。
网友分享2
连接远程SQL Server数据库,记得开启分布式事务支持:EXEC sp_serveroption 'LINKED_SERVER', 'rpc', 'true'; EXEC sp_serveroption 'LINKED_SERVER', 'rpc out', 'true'。这样就能执行远程存储过程了。防火墙要放行1433端口。
网友分享3
用SQL Server Management Studio图形界面创建链接服务器:右键服务器对象-新建链接服务器。服务器类型选SQL Server,填入数据源IP,安全页选使用当前登录或指定用户名密码。完成。
网友分享4
查询链接服务器信息:SELECT * FROM sys.servers。删除链接:EXEC sp_dropserver 'LINKED_SERVER', 'droplogins'。常见问题:登录失败检查sa密码和远程服务器允许远程连接。
网友分享5
跨数据库查询优化:用OPENQUERY代替四部分名,能提高性能。例:SELECT * FROM OPENQUERY(LINKED_SERVER, 'SELECT TOP 10 * FROM 表名')。
网友分享6
配置链接服务器的安全:最好用Windows身份验证,避免明文密码。@useself = 'true' 让它用当前用户身份连接远程端。
FAQ
Q: 链接服务器连接失败怎么处理?
A: 检查网络连通性、1433端口、SQL Server Browser服务、远程连接允许设置。
Q: 如何测试链接服务器?
A: 执行 SELECT @@SERVERNAME FROM [LINKED_SERVER].master.dbo.sysservers;
Q: 链接服务器查询慢怎么办?
A: 用OPENROWSET或OPENQUERY,检查索引和网络带宽。
Q: 可以链接Oracle吗?
A: 可以,用Oracle Provider for OLE DB,指定@provider='OraOLEDB.Oracle'。