1. 程式人生 > >【菜鳥系列】SQL Server跨伺服器(跨例項)訪問資料庫

【菜鳥系列】SQL Server跨伺服器(跨例項)訪問資料庫

/*** 竟然又一次來寫部落格了~是經理建議我堅持寫部落格的~看了3個月前我的第一篇部落格,也覺得很有必要 囉嗦幾句~ 一眨眼3個月過去了~本人有沒有變得NB一點了呢? 完全沒有!!!而且還變的更菜了~現在看自己寫的部落格已經有點看不懂了~真是太不幸了~ 最近單位做了一款ERP軟體,經理安排我出差了幾次,我之前從來沒出過差,感覺高大上,對我來說,出差==旅遊,就是有點寂寞...給一群大叔大媽培訓也是毫無樂趣可言~ 之前一直在學java,後來看了幾頁android,現在又改變想法想學C#了,因為經理最拿手的是C#,終於明智的決定抱著大腿走了~ 維護ERP系統最基本的技能就是SQL,所以我決定藉助這次ERP系統的實施猛補一下SQL! (本人使用的是 SQL Server 2014) ***/ 兩家企業,想從一家企業的資料庫裡導幾個商品資訊到另外一家企業的資料庫裡做測試用,不知道怎麼弄,就去問經理了~~~ 方法一:新增連結伺服器 然後填需要連結的目標伺服器的地址 這裡例子寫的是本機地址,埠8888,請不要無腦照抄 然後選擇“安全性”頁 如果連結成功的話會在連結伺服器裡看到這個伺服器 然後就可以訪問這個伺服器中的資料庫了 測試一下: select * from [127.0.0.1,8888].資料庫名.dbo.表名 成功了~ 方法二:OPENROWSET函式 需要先在主伺服器上更改一個設定,右擊主伺服器——方面

需要把AdHocRemoteQueriesEnabled屬性改為True,預設是false的

--------***此外也可以通過語句來完成上面的操作

use master;
GO
exec sp_configure 'show advanced option','1';
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries','1';
reconfigure

如果想關閉遠端則可以把‘1’改成‘0’   *****------------

然後就可以通過語句直接訪問目標伺服器中的資料庫了 測試一下:
select * from
	openrowset('SQLNCLI',
		   'Server=127.0.0.1,8888;UID=使用者名稱;PWD=密碼;',
	           'select * from 表名')
另外OPENROWSET 是一次性的訪問,對於經常性要連結的伺服器可以直接新增連結伺服器 就這些吧~~~ 等我NB了再回來補充!