跨資料庫伺服器執行sql語句

2022-03-31 22:18:04 字數 2616 閱讀 1227

在某些場合中。需要涉及到跨資料庫伺服器的兩個資料庫例項間進行資料操作,在這種場合下,可以使用

sp_addlinkedserver

和sp_addlinkedsrvlogin

這兩個sql server

自帶的儲存過程在某一台

sql server

資料庫伺服器上建立鏈結伺服器。建立好鏈結伺服器,對另乙個

sql server

的操作就和操作本地資料庫一樣,待使用完後,用儲存過程

sp_dropserver

釋放鏈結伺服器即可。

1.建立鏈結伺服器和登入鏈結伺服器。

//////

建立和登入鏈結伺服器

///privatestaticvoidcreatelinkedserver()

paras[0].parametername = "server";

paras[0].value = "stager";

paras[1].parametername = "srvproduct";

paras[1].value = "";

paras[2].parametername = "provider";

paras[2].value = "sqloledb";

paras[3].parametername = "datasrc";

paras[3].value = server;

stringsql = @"sp_addlinkedserver";

mcmsdao.executenoncmd(sql, commandtype.storedprocedure, paras);

//登入鏈結伺服器

iparam paras2 =newdbparam[5];

for(inti = 0; i < paras2.length; i++)

paras2[0].parametername = "rmtsrvname";

paras2[0].value = "stager";

paras2[1].parametername = "useself";

paras2[1].value = "false";

paras2[2].parametername = "locallogin";

paras2[2].value =null;

paras2[3].parametername = "rmtuser";

paras2[3].value = user;

paras2[4].parametername = "rmtpassword";

paras2[4].value = pwd;

stringsql2 = @"sp_addlinkedsrvlogin";

mcmsdao.executenoncmd(sql2, commandtype.storedprocedure, paras2);}2.

釋放鏈結伺服器。

//////

刪除鏈結伺服器

///privatestaticvoiddroplinkedserver()

paras[0].parametername = "server";

paras[0].value = "stager";

paras[1].parametername = "droplogins";

paras[1].value = "droplogins";

stringsql = @"sp_dropserver";

mcmsdao.executenoncmd(sql, commandtype.storedprocedure, paras);}3.

判斷鏈結伺服器是否存在

//////

判斷鏈結伺服器是否存在

//////

privatestaticboolhaslinkedserverexists()

returntrue;}4.

使用方法。

insert intostager.cmsdb.

dbo.increasedchannelinfo(url)

select url from cmsposting where url is not null

上面的sql

語句將資料庫表

cmsposting

中滿足條件的記錄插入到鏈結伺服器

stager

的資料庫例項

cmsdb

中的表increasedchannelinfo

。注:在建立鏈結伺服器前需要判斷鏈結伺服器是否已經存在,如果已經存在,就直接操作就可以了。

sql語句跨伺服器跨資料庫執行

加為好友 傳送私信 發表於 2009 04 15 21 38 42 得分 0 sql語句跨伺服器跨資料庫執行 第一種方法 select from opendatasource sqloledb server 伺服器ip uid sa pwd 密碼 庫名.dbo.表名 第二種方法 先使用聯結伺服器 e...

讓你的sql語句跨伺服器跨資料庫跨表執行

第一種方法 select from opendatasource sqloledb data source 遠端ip user id sa password 密碼 庫名.dbo.表名 第二種方法 先使用聯結伺服器 exec sp addlinkedserver 別名 msdasql null,nul...

跨伺服器訪問Sql資料庫

用openrowset連線遠端sql或插入資料 如果只是臨時訪問,可以直接用openrowset 查詢示例 select from openrowset sqloledb sql伺服器名 使用者名稱 密碼 資料庫名.dbo.表名 匯入示例 select into 表 from openrowset ...