跨伺服器執行SQL

2022-03-26 11:37:17 字數 1918 閱讀 1904

--

exec sp_helpserver 可以以儲存過程形式執行以下:

--1.1 建立登入資訊(或叫建立鏈結伺服器登入名對映)(只需選擇一種方式)

--1.1.1 以windows認證的方式登入

/*例如:exec sp_addlinkedserver 'tonylink','','sqloledb','192.168.58.208'

*/exec sp_addlinkedserver '

db1','','

sqloledb

','0.0.0.0'--

有自定義例項名還要加上"/例項名"

--1.1.2 以sql認證的方式登入

/*例如:exec sp_addlinkedsrvlogin 'tonylink' 或 exec sp_addlinkedsrvlogin 'tonylink','true'

*//*

例如:exec sp_addlinkedsrvlogin 'tonylink','false',null,'sa','123'

*/exec sp_addlinkedsrvlogin '

db1','

false

',null,'

sa','

123'

--1.1.3 執行sql或者儲存過程

/*更新選單按鈕

*/insert

into

db1.sup2.dbo.sys_menubutton ( alias, name, btnname, btntext)

select

a.alias,a.name,a.btnname,a.btntext

from sup.dbo.sys_menubutton as

a

/*查詢所有使用者角色id

*/declare

@roleid

intdeclare

@temp

table (roleid int

)

insert

into

@temp

select u.roleid from db1.sup2.dbo.userbase u group

byu.roleid

/*迴圈更新所有角色id新增的選單按鈕許可權

*/while

@@rowcount

>

0begin

print

'begin ---'if

exists (select

top1 roleid from

@temp

)

begin

select

top1

@roleid

=roleid from

@temp

print

'exec count ---

'declare

@count

intselect

@count

=count(*

)

from

db1.sup2.dbo.sys_menubutton mb

print

@count

print

@@rowcount

delete

from

@temp

where roleid=

@roleid

endend

;

--1.1.4 刪除宣告的對映和遠端伺服器鏈結

exec sp_droplinkedsrvlogin db1,null

--刪除對映(斷開與鏈結伺服器上遠端登入之間的對映)

exec sp_dropserver db1 --

刪除遠端伺服器鏈結

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

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

SQL 跨伺服器訪問

訪問不同電腦上的資料庫 遠端只要聯好網就一樣 如果經常訪問或資料量大,建議用鏈結伺服器 建立鏈結伺服器 exec sp addlinkedserver srv lnk sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin srv lnk false null,...

SQL跨伺服器查詢

sql跨伺服器查詢的二種實現方法 select from opendatasource sqloledb data source 遠端ip user id sa password 密碼 庫名.dbo.表名 insert 本地庫名.表名 select from opendatasource sqlol...