从远程sql服务器上读数据示例

本文介绍如何通过 SQL 在本地服务器上设置链接服务器来读取远程服务器的数据,并实现数据的本地存储及索引创建。
CREATE proc GetDataFromCenter 
--中心服务器名
@ServerCenter sysname,
@ServerUser sysname,
@ServerPwd sysname,
--数据库名
@DatabaseCenter sysname,
--该读取数据的机器在数据分配表中的机器号
@MaID int
as
if not exists(select srvname from master.dbo.sysservers where srvname = @ServerCenter )
--添加数据中心作为链接服务器
begin
exec sp_addlinkedserver @ServerCenter
exec sp_addlinkedsrvlogin @ServerCenter,'false',null,@ServerUser,@ServerPwd
end
set nocount on
--如果post表存在将其删除
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Post]'and OBJECTPROPERTY(id, N'IsUserTable'= 1)
drop table [dbo].[Post]
--从中心服务器读取数据到本地表post
exec('select a.keywordid,a.docid,a.PositionFancy,a.CategoryFancy,a.wordpositions,a.score into dbo.post
from 
'+@ServerCenter+'.'+@DatabaseCenter+'.dbo.invertedindex a,'+@ServerCenter+'.'+@DatabaseCenter+'.dbo.TermPartition b 
where a.keywordid=b.keywordid and b.MachineID=
'+@MaID+' order by b.keywordid')
--建立索引
create index keywordid_idx on post(keywordid) 
set nocount off

GO

 

从远程sql服务器上读取数据,首先要添加连接服务器,然后才可以读取

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值