使用SQL SERVER 添加一个存储过程 将数据循环插入到另一个服务器 255
使用SQLSERVER添加一个存储过程查询t_log表里面是否有数据有则将t_log表ID对应t_test表ID的数据插入的到另一链接服务器并删除t_log里面的记录...
使用SQL SERVER 添加一个存储过程查询t_log表里面是否有数据 有则将t_log表 ID
对应t_test表 ID 的数据插入的到另一链接服务器 并删除t_log里面的记录 展开
对应t_test表 ID 的数据插入的到另一链接服务器 并删除t_log里面的记录 展开
1个回答
展开全部
方案1:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [InsertData]
AS
BEGIN
exec sp_addlinkedserver 'yuancheng','','SQLOLEDB','远程IP'
exec sp_addlinkedsrvlogin 'yuancheng','false',null,'远程数据库帐号','远程数据库密码'
select * into yuancheng.数据库名.dbo.t_test from t_log
delete from t_log
exec sp_dropserver 'yuancheng','droplogins'
END
方案2:
先开启Ad Hoc Distributed Queries组件
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
然后创建存储过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [InsertData]
AS
BEGIN
insert into openrowset('SQLOLEDB' ,'远程IP';'远程帐号';'远程密码',数据库名.dbo.t_test) select * from t_log
delete from t_log
END
GO
注意,如果远程的t_test表中有主键自增ID,必须先取消此列的标识属性,或者将除了主键列外的字段名在insert语句中列出,不过这样做就不能保证两边数据库的ID一致了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询