需求背景:本项目使用SQL Server 2008 R2, 需要 从第三方数据库系统(MySQL)获取两张表,由于业务以及代码框架原因,决定把两张表定时同步到我们数据库里面。
SQL Server 2008中需要访问MySQL的数据,可以通过调用MySQL的ODBC驱动,在SQL Server中添加LinkServer的方式实现。
步骤:
1.从MySQL网站下载最新的MySQL ODBC驱动:http://www.mysql.com/downloads/connector/odbc/,
2.在SQL Server所在的服务器安装,并查看安装以后的驱动名称。
首先通过控制面板查看ODBC
3.创建linkserver
Driver={MySQL ODBC 5.3 ANSI Driver};Server=xxx;Database=xxx;User=xxx;Password=xxx;Option=3;
在SQL Server 中通过OPENQUERY 函数对MySQL 进行操作,该函数包含两个参数:第一个为已创建的链接名称,第二个为SQL 查询,它将返回对Linked Server 的读取或修改操作。如下操作示例:
OPENQUERY ([xxx], 'SELECT * FROM [xxx]')
4.在sql server里面创建job
按照步骤一步步操作就可以了
值得注意的是,在步骤里面如果是执行sql语句,可以点击分析来测试下sql语句的可执行性。
如果执行过程中报错误 22022 SQLServerAgent当前未运行
控制面板 -》管理->服务->SQLSERVERAGENT->设置为自动启动 就可以啦