,@dbname=db_name() --执行数据处理的数据库名
exec msdb..sp_add_jobstep @job_name=’数据处理’,
@step_name = ’数据同步’,
@subsystem = ’TSQL’,
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
--创建调度
EXEC msdb..sp_add_jobschedule @job_name = ’数据处理’,
@name = ’时间安排’,
@freq_type = 4, --每天
@freq_interval = 1, --每天执行一次
@active_start_time = 00000 --0点执行
go
同步两个Sql server (一)
如何同步两个SQLServer数据库的内容?
程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致。各位有什么好的方法吗?
分发与复制
用强制订阅实现数据库同步操作
大量和批量的数据可以用数据库的同步机制处理:
//
说明:
为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式
在客户机器使用强制订阅方式。
有疑问联系作者:
zlp321001@hotmail.com 测试通过
//
--1:环境
服务器环境:
机器名称: ZehuaDb
操作系统:Windows 2000 Server
数据库版本:SQL 2000 Server 个人版
客户端
机器名称:Zlp
操作系统:Windows 2000 Server
数据库版本:SQL 2000 Server 个人版
--2:建用户帐号
在服务器端建立域用户帐号
我的电脑管理->本地用户和组->用户->建立
UserName:zlp
UserPwd:zlp
--3:重新启动服务器MSSQLServer
我的电脑->控制面版->管理工具->服务->MSSQLServer 服务
(更改为:域用户帐号,我们新建的zlp用户 .\zlp,密码:zlp)
--4:安装分发服务器
A:配置分发服务器
工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置)
B:配置发布服务器
工具->复制->创建和管理发布->选择要发布的数据库(SZ)->下一步->快照发布->下一步->
选择要发布的内容->下一步->下一步->下一步->完成
C:强制配置订阅服务器(推模式,拉模式与此雷同)
工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->SQL Server数据库->输入客户端服务器名称(ZLP)->使用SQL Server 身份验证 (sa,空密码)->确定->应用->确定
D:初始化订阅
复制监视器->发布服务器(ZEHUADB)->双击订阅->强制新建->下一步->选择启用的订阅服务器->ZLP->
下一步->下一步->下一步->下一步->完成
--5:测试配置是否成功
复制监视器->发布服务器(ZEHUADB)->双击SZ:SZ->点状态->点立即运行代理程序
查看:
复制监视器->发布服务器(ZEHUADB)->SZ:SZ->选择ZLP:SZ(类型强制)->鼠标右键->启动同步处理
如果没有错误标志(红色叉),恭喜您配置成功
--6:测试数据
--在服务器执行:
选择一个表,执行如下SQL
insert into WQ_NEWSGROUP_S select '测试成功',5
复制监视器->发布服务器(ZEHUADB)->SZ:SZ->快照->启动代理程序->ZLP:SZ(强制)->启动同步处理
去查看同步的 WQ_NEWSGROUP_S 是否插入了一条新的记录
测试完毕,通过。
--7修改数据库的同步时间,一般选择夜晚执行数据库同步处理
(具体操作略) :D
USE master
GO
-- 设置两个变量
DECLARE @serverproperty_servername varchar(100),
@servername varchar(100)
-- 取得Windows NT 服务器和与指定的 SQL Server 实例关联的实例信息
SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))
-- 返回运行 Microsoft SQL Server 的本地服务器名称
SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)
-- 显示获取的这两个参数
select @serverproperty_servername,@servername
--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的
--删除错误的服务器名
EXEC sp_dropserver @server=@servername
--添加正确的服务器名
EXEC sp_addserver @server=@serverproperty_servername, @local='local'
http://blog.csdn.net/kension/archive/2007/01/30/1497875.aspx
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
一些SQL Server的应用实例 下一篇:
SQL SERVER 和EXCEL的数据导入导出
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】