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
https://www.cnblogs.com/ling-cun/p/9412797.html
https://www.cnblogs.com/tmftmb/p/11607699.html