sql定时任务

u012734371 2013-11-05 07:15:54

小弟初学者,跪求大神赐我一个关于sqlserver2008定时作业的脚本。


1、每隔10分钟上A数据库的A表里面获取有更新的数据,并将数据同步到B数据的B表。
2、其中A数据库的A表和B数据库的B表字段数量不一样。
3、如何是隔一天同步数据的话,是不是只需修改相应参数就可以了?

...全文
396 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2013-11-06
  • 打赏
  • 举报
回复
引用 6 楼 u012734371 的回复:
[quote=引用 5 楼 ap0405140 的回复:] 把数据同步的语句集写为存储过程,然后设为SQL作业自动执行. 同步频率等于SQL作业的执行频率.
请问我想把SQLServer的数据同步到MySql数据库咋操作?[/quote] 先创建链接服务器(link server)到MySQL,之后的步骤同5楼, 参考 http://database.51cto.com/art/201107/279038.htm
birdmonster 2013-11-06
  • 打赏
  • 举报
回复
两边链接建好,服务开好,暂时不要使用事务 select * from [MYSQL].[test].[dbo].[merchant_category]
u012734371 2013-11-06
  • 打赏
  • 举报
回复
引用 5 楼 ap0405140 的回复:
把数据同步的语句集写为存储过程,然后设为SQL作业自动执行. 同步频率等于SQL作业的执行频率.
请问我想把SQLServer的数据同步到MySql数据库咋操作?
唐诗三百首 2013-11-06
  • 打赏
  • 举报
回复
把数据同步的语句集写为存储过程,然后设为SQL作业自动执行. 同步频率等于SQL作业的执行频率.
Mr_Nice 2013-11-06
  • 打赏
  • 举报
回复
引用 楼主 u012734371 的回复:
小弟初学者,跪求大神赐我一个关于sqlserver2008定时作业的脚本。 1、每隔10分钟上A数据库的A表里面获取有更新的数据,并将数据同步到B数据的B表。 2、其中A数据库的A表和B数据库的B表字段数量不一样。 3、如何是隔一天同步数据的话,是不是只需修改相应参数就可以了?
感觉这个用ssis做包更好些。
---涛声依旧--- 2013-11-06
  • 打赏
  • 举报
回复
也可以写成存储过程后再定时执行
LongRui888 2013-11-06
  • 打赏
  • 举报
回复
引用 8 楼 u012734371 的回复:
[quote=引用 7 楼 ap0405140 的回复:] [quote=引用 6 楼 u012734371 的回复:] [quote=引用 5 楼 ap0405140 的回复:] 把数据同步的语句集写为存储过程,然后设为SQL作业自动执行. 同步频率等于SQL作业的执行频率.
请问我想把SQLServer的数据同步到MySql数据库咋操作?[/quote] 先创建链接服务器(link server)到MySQL,之后的步骤同5楼, 参考 http://database.51cto.com/art/201107/279038.htm[/quote]
select * from [MYSQL].[test]..[merchant_category]
总是会出现以下问题!!!!崩溃了。 [/quote] 这样能行吗:
select * from [MYSQL].[test].[test].[merchant_category]
LongRui888 2013-11-06
  • 打赏
  • 举报
回复
修改一下上面: 在mssql的服务器上安装MySQL的ODBC驱动MyODBC 1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2、建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN' GO EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码' 3、在sql server 2008上操作数据
MERGE [MySQLTest].目标表 USING SQLServer2008R2.DataBase.dbo.源表 

ON ( 目标表.id = 源表.id )    -- 条件是 id 相同 

WHEN MATCHED THEN UPDATE SET 目标表.val = 源表.val   -- 匹配的时候,更新 

WHEN NOT MATCHED THEN INSERT VALUES(源表.id, 源表.val) -- 源表有,目标表没有,插入 

WHEN NOT MATCHED BY SOURCE THEN DELETE; -- 目标表有,源表没有,目标表该数据删除.
LongRui888 2013-11-06
  • 打赏
  • 举报
回复
在mssql的服务器上安装MySQL的ODBC驱动MyODBC 1、为MySQL建立一个ODBC系统数据源,例如:选择数据库为test ,数据源名称为 myDSN 2、建立链接数据库 EXEC sp_addlinkedserver @server = 'MySQLTest', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN' GO EXEC sp_addlinkedsrvlogin @rmtsrvname='MySqlTest',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码' 3、操作数据 update MySQLTest.表 set 字段 = (select * from sqlserver的表)
唐诗三百首 2013-11-06
  • 打赏
  • 举报
回复
try this,

 select * from openquery(MYSQL,'select * from test.merchant_category')  
u012734371 2013-11-06
  • 打赏
  • 举报
回复
实际上我想达到的目的就是如下代码这样,唉搞不成!
MERGE MySql.目标表 USING SQLServer2008R2.DataBase.dbo.源表 

ON ( 目标表.id = 源表.id )    -- 条件是 id 相同 

WHEN MATCHED THEN UPDATE SET 目标表.val = 源表.val   -- 匹配的时候,更新 

WHEN NOT MATCHED THEN INSERT VALUES(源表.id, 源表.val) -- 源表有,目标表没有,插入 

WHEN NOT MATCHED BY SOURCE THEN DELETE; -- 目标表有,源表没有,目标表该数据删除.
u012734371 2013-11-06
  • 打赏
  • 举报
回复
引用 7 楼 ap0405140 的回复:
[quote=引用 6 楼 u012734371 的回复:]
[quote=引用 5 楼 ap0405140 的回复:]
把数据同步的语句集写为存储过程,然后设为SQL作业自动执行.
同步频率等于SQL作业的执行频率.

请问我想把SQLServer的数据同步到MySql数据库咋操作?[/quote]
先创建链接服务器(link server)到MySQL,之后的步骤同5楼,
参考 http://database.51cto.com/art/201107/279038.htm[/quote]
select * from [MYSQL].[test]..[merchant_category]

总是会出现以下问题!!!!崩溃了。
-Tracy-McGrady- 2013-11-05
  • 打赏
  • 举报
回复
在作业里面写个insert into b数据库.dbo.B表(字段) select 字段 from a数据库.dbo.a表 where 更新过的 就可以了 指明多长时间执行一次作业就可以了,很简单的
ai_li7758521 2013-11-05
  • 打赏
  • 举报
回复
通过在A表中增加一列(Updated bit),用来标识数据自上次同步过后是否有更新。 每次导数据时,使用Merge
 MERGE [B].[dbo].[B] AS T
  USING 
  (
	  SELECT *
	  FROM [A].[dbo].[A]
	  WHERE Updated=1
  ) AS S
  ON T.ID=S.ID
  WHEN MATCHED THEN 
      UPDATE SET Name=S.Name
  WHEN NOT MATCHED THEN
     INSERT (ID,Name) VALUES (S.ID,S.Name)
而如果换成是按天同步,只需要调整SQL JOB的计划即可。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧