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