不同伺服器資料庫之間的資料操作
--建立鏈結伺服器
exec
sp_addlinkedserver
'itsv ',
'', '
sqloledb ',
'遠端伺服器名或ip位址
'exec
sp_addlinkedsrvlogin
'itsv ',
'false ',
null, '
使用者名稱 ',
'密碼 '--
查詢示例
select
*from
itsv.資料庫名.dbo.表名
--匯入示例
select
*into
表 from
itsv.資料庫名.dbo.表名
--以後不再使用時刪除鏈結伺服器
exec
sp_dropserver
'itsv ',
'droplogins '--
連線遠端/區域網資料(openrowset/openquery/opendatasource)
--1、openrowset
--查詢示例
select
*from
openrowset( '
sqloledb ',
'sql伺服器名 ';
'使用者名稱 ';
'密碼
',資料庫名.dbo.表名)
--生成本地表
select
*into
表 from
openrowset( '
sqloledb ',
'sql伺服器名 ';
'使用者名稱 ';
'密碼
',資料庫名.dbo.表名)
--把本地表匯入遠端表
insert
openrowset( '
sqloledb ',
'sql伺服器名 ';
'使用者名稱 ';
'密碼
',資料庫名.dbo.表名)
select
*from
本地表
--更新本地表
update
b set
b.列a
=a.列a
from
openrowset( '
sqloledb ',
'sql伺服器名 ';
'使用者名稱 ';
'密碼
',資料庫名.dbo.表名)
asa
inner
join
本地表 b
ona.column1
=b.column1
--openquery用法需要建立乙個連線
--首先建立乙個連線建立鏈結伺服器
exec
sp_addlinkedserver
'itsv ',
'', '
sqloledb ',
'遠端伺服器名或ip位址 '--
查詢 select
*from
openquery
(itsv,
'select * from 資料庫.dbo.表名 ')
--把本地表匯入遠端表
insert
openquery
(itsv,
'select * from 資料庫.dbo.表名 ')
select
*from
本地表
--更新本地表
update
b set
b.列b
=a.列b
from
openquery
(itsv,
'select * from 資料庫.dbo.表名 ')
asa
inner
join
本地表 b
ona.列a
=b.列a
--3、opendatasource/openrowset
select
*from
opendatasource( '
sqloledb
',
'data source=ip/servername;user id=登陸名;password=密碼
').test.dbo.roy_ta
--把本地表匯入遠端表
insert
opendatasource( '
sqloledb
',
'data source=ip/servername;user id=登陸名;password=密碼
').資料庫.dbo.表名
select
*from
建立鏈結伺服器
這個是2000的,2005沒試過.不同伺服器資料庫之間的資料操作 建立鏈結伺服器 exec sp addlinkedserver itsv sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin itsv false null,使用者名稱 密碼 查詢示例 sel...
建立鏈結伺服器
建立鏈結伺服器 exec sp addlinkedserver srv lnk sqloledb 遠端伺服器名或ip位址 exec sp addlinkedsrvlogin srv lnk false null,使用者名稱 密碼 go 查詢示例 select from srv lnk.資料庫名.db...
SQL鏈結伺服器
由於公司內部涉及到許多的庫之間的操作,相互間有很多是通過鏈結伺服器方式是直接訪問操作,具體增加鏈結伺服器的指令碼如下 被訪問的伺服器別名 declare servername varchar 20 被訪問的伺服器鏈結 declare serverip varchar 20 訪問的賬號 密碼 decl...