1.用作业来实现数据库的同步,首先就要知道怎么建立连接 还有就是必须有这个权限了
先学习下连接数据库的基本操作。然后把他放在在job中定时执行就好了。就OK了
只有 sysadmin 和 securityadmin 固定服务器角色的成员才可以执行 sp_addlinkedsrvlogin。
-- 适合不同服务器数据之间的操作 --以后不再使用时删除链接服务器 exec sp_droplinkedsrvlogin 'DBLink',null exec sp_dropserver 'DBLink' --建立连接 EXEC sp_addlinkedserver 'DBLink' ,' ','SQLOLEDB','192.168.107.8' EXEC sp_addlinkedsrvlogin 'DBLink ', 'false ',null, 'sa ', '123!@#qwe' -- 通过在之前加入DBLink连接关键字就可以轻松的访问到远程主机的数据库的资料如下 select top 5 * from DBLink.CSSMCUR.dbo.Base_UserOrg /* ID CreatedOn CreatedBy ModifiedOn ModifiedBy SysVersion User Org -------------------- ----------------------- -------------------------------------------------- ----------------------- -------------------------------------------------- -------------------- -------------------- -------------------- 1001008040001848 2010-08-04 10:19:10.000 Enterprise Administrator 2010-08-04 10:19:10.000 Enterprise Administrator 0 1001008040001842 1001008040000059 1001008040001849 2010-08-04 10:19:10.000 Enterprise Administrator 2010-08-04 10:19:10.000 Enterprise Administrator 0 1001008040001844 1001008040000059 1001008040001850 2010-08-04 10:19:10.000 Enterprise Administrator 2010-08-04 10:19:10.000 Enterprise Administrator 0 1001008040001846 1001008040000059 1001008124760507 2010-08-11 17:02:55.000 Enterprise Administrator 2010-08-11 17:02:55.000 Enterprise Administrator 0 1001008124760229 1001008040000059 1001008124760508 2010-08-11 17:02:55.000 Enterprise Administrator 2010-08-11 17:02:55.000 Enterprise Administrator 0 1001008124760229 1001008040000238 (5 行受影响) */ --连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) --把本地表导入远程表 insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名) select *from 本地表 --更新本地表 update b set b.列A=a.列A from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b on a.column1=b.column1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' --查询 select * FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') --把本地表导入远程表 insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') select * from 本地表 --更新本地表 update b set b.列B=a.列B FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a inner join 本地表 b on a.列A=b.列A --3、opendatasource/openrowset SELECT * FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta --把本地表导入远程表 insert opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ').数据库.dbo.表名 select * from 本地表
具体操作如下:
a)新建作业。如下图:
a、 新建作业。如下图:
b、 点击【新建作业】对话框的【常规】选项卡,填写 SQL JOB的名称。如下图
c、 点击【新建作业】对话框的【步骤】选项卡,填写 步骤名称。
d、 进行作业的第一个步骤------建立数据库连接操作。如下图:
e、设置作业执行计划
f、点击确定,完成SQL JOB的开发。
g、完成后作业下面就多了刚开发的作业。如下:
*作者:Stephenzhou(阿蒙)
*日期: 2012.07.31
*Mail:[email protected]
*另外:转载请著名出处。
*博客地址:http://blog.csdn.net/szstephenzhou