SQL SERVER网络连接,防火墙应开数据端口,默认1433。此时数据库连接,如OPENDATASOURCE及链接服务器已可正常连通。
如果SSMS连接不上,可能还要开浏览服务1434端口。
一、OPENDATASOURCE\OPENROWSET
EXEC sp_configure 'show advanced options',1 RECONFIGURE EXEC sp_configure 'Ad Hoc Distributed Queries',1 RECONFIGURE GO -- OPENDATASOURCE SELECT * FROM OPENDATASOURCE('SQLNCLI','Data Source=SERVER[,Port];User ID=sa;Password=PSW').DBNAME.DBO.TABLENAME -- OPENROWSET SELECT * FROM OPENROWSET('SQLNCLI','SERVER';'sa';'PSW','SELECT * FROM DBNAME.DBO.TABLENAME') a GO EXEC sp_configure 'Ad Hoc Distributed Queries',0 RECONFIGURE EXEC sp_configure 'show advanced options',0 RECONFIGURE GO
二、链接服务器
--使用SSMS添加老提示错误,使用代码添加成功 --创建链接服务器 IF NOT EXISTS (select * from sys.servers where name = 'SERVER') BEGIN EXEC sp_addlinkedserver @server='SERVER', --链接服务器别名 @srvproduct='', @provider='SQLNCLI', --此处即使填写SQLOLEDB,数据库也是存入SQLNCLI @datasrc='IP地址,端口' --数据库服务器IP END GO --登录链接服务器 EXEC sp_addlinkedsrvlogin @rmtsrvname='SERVER', --链接服务器别名 @useself='false', @locallogin=NULL, @rmtuser='sa', --数据库用户名 @rmtpassword='XXXXXX' --数据库密码 GO --数据操作 --删除登录,退出链接服务器 EXEC sp_droplinkedsrvlogin 'SERVER', null GO --删除链接服务器,同时第2个参数会删除登录 EXEC sp_dropserver 'SERVER', 'droplogins' Go