use ompps--在目的服务器 (127.0.0.1)中运行下列内容,将以追加方式,从源服务器(10.1.6.18)按条件复制表 ClientTypes 指定时间内的数据至目的服务器
exec sp_addlinkedserver @server='abc',@provider='sqloledb',@srvproduct='abc',@datasrc='192.168.0.2'
GOexec sp_addlinkedsrvlogin @rmtsrvname='abc',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'
GOexec sp_addlinkedserver @server='xyz',@provider='sqloledb',@srvproduct='xyz',@datasrc='192.168.0.3'
GOexec sp_addlinkedsrvlogin @rmtsrvname='xyz',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'
GOInsert into XYZ.OMPPS.DBO.ClientIDTypes
select * from ABC.OMPPS.DBO.ClientIDTypes
GOexec sp_droplinkedsrvlogin 'xyz' ,'sa'
GOexec sp_dropserver 'xyz'
GOexec sp_droplinkedsrvlogin 'abc' ,'sa'
GOexec sp_dropserver 'abc'
GO
上述直接运行没问题,可出现正确结果 ;可放在job里面运行就没有结果了,我将运行后的结果记录在文本中,如下:Msg 15028, Sev 16, State 1, Line 89 : The server 'abc' already exists. [SQLSTATE 42000]但我通过 exec sp_helpserverexec sp_linkedservers
go
是没有出现 'abc'的。请各位指点帮忙,谢谢!!!
exec sp_addlinkedserver @server='abc',@provider='sqloledb',@srvproduct='abc',@datasrc='192.168.0.2'
GOexec sp_addlinkedsrvlogin @rmtsrvname='abc',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'
GOexec sp_addlinkedserver @server='xyz',@provider='sqloledb',@srvproduct='xyz',@datasrc='192.168.0.3'
GOexec sp_addlinkedsrvlogin @rmtsrvname='xyz',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='sa'
GOInsert into XYZ.OMPPS.DBO.ClientIDTypes
select * from ABC.OMPPS.DBO.ClientIDTypes
GOexec sp_droplinkedsrvlogin 'xyz' ,'sa'
GOexec sp_dropserver 'xyz'
GOexec sp_droplinkedsrvlogin 'abc' ,'sa'
GOexec sp_dropserver 'abc'
GO
上述直接运行没问题,可出现正确结果 ;可放在job里面运行就没有结果了,我将运行后的结果记录在文本中,如下:Msg 15028, Sev 16, State 1, Line 89 : The server 'abc' already exists. [SQLSTATE 42000]但我通过 exec sp_helpserverexec sp_linkedservers
go
是没有出现 'abc'的。请各位指点帮忙,谢谢!!!
你在最后不是DROP 了吗
建议写成if exists(....) is not null drop ....形式的
如果没有Drop的话,为什么我通过 exec sp_helpserver 命令查不出呢?
因为我做的是一个job,希望能定时运行