--在目标sql实例中操作--1.首先建立访问源sql实例的链接服务器 exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','源sql实例服务器名或ip地址' exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码' go--2.在目标数据库中创建一个存储过程,实现数据导入 create proc p_inport as declare tb cursor local for select distinct URLTopic,SRCName from srv_lnk.源数据库名.dbo.源表名declare @URLTopic Varchar(500),@SRCName Varchar(100) open tb fetch tb into @URLTopic,@SRCName while @@fetch_status=0 begin insert 目标主表( vcTitle, vcDescript,iCatalogId,iColumnsId, vcFrom, vcState,vcSpe,vcIP,iClickCount,nAdminPK,iClickCount) values( @URLTopic, null,23,null, @SRCName, 0,0,'127.0.0.1',0,0,0) insert 目标从表( nContentId, texContentValue) select scope_identity(), Content from srv_lnk.源数据库名.dbo.源表名 where URLTopic=@URLTopic and SRCName=@SRCName fetch tb into @URLTopic,@SRCName end close tb deallocate tb go
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','源sql实例服务器名或ip地址'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
go--2.在目标数据库中创建一个存储过程,实现数据导入
create proc p_inport
as
declare tb cursor local
for
select distinct
URLTopic,SRCName
from srv_lnk.源数据库名.dbo.源表名declare @URLTopic Varchar(500),@SRCName Varchar(100)
open tb
fetch tb into @URLTopic,@SRCName
while @@fetch_status=0
begin
insert 目标主表(
vcTitle,
vcDescript,iCatalogId,iColumnsId,
vcFrom,
vcState,vcSpe,vcIP,iClickCount,nAdminPK,iClickCount)
values(
@URLTopic,
null,23,null,
@SRCName,
0,0,'127.0.0.1',0,0,0)
insert 目标从表(
nContentId,
texContentValue)
select
scope_identity(),
Content
from srv_lnk.源数据库名.dbo.源表名
where URLTopic=@URLTopic
and SRCName=@SRCName
fetch tb into @URLTopic,@SRCName
end
close tb
deallocate tb
go
企业管理器
--管理
--SQL Server代理
--右键作业
--新建作业
--"常规"项中输入作业名称
--"步骤"项
--新建
--"步骤名"中输入步骤名
--"类型"中选择"Transact-SQL 脚本(TSQL)"
--"数据库"选择执行命令的数据库
--"命令"中输入要执行的语句:
exec p_inport
--确定
--"调度"项
--新建调度
--"名称"中输入调度名称
--"调度类型"中选择你的作业执行安排
--如果选择"反复出现"
--点"更改"来设置你的时间安排
然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:
我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
select a,b from dataname.dbo.B
具體的如何搞做樓主自己可以試一下。
我想格式就是這樣