这篇文章主要为大家详细介绍了SQL Server 2000数据库同步 同步两个SQLServer数据库的内容,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
复制前要做好的准备工作:代码如下:
select * from sysobjects where replinfo >0
sp_configure allow updates, 1
go
reconfigure with override
go
begin transaction
update sysobjects set replinfo = 0 where replinfo >0
commit transaction
go
rollback transaction
go
sp_configure allow updates, 0
go
reconfigure with override
go
代码如下:
说明:
下面的代码演示了如何利用日志还原功能,将主数据库中的数据变化及时反馈到备用数据库中
备用数据库的数据可以随时用于查询,但不能被更新(备用数据库只读)。
首先,创建一个演示用的数据库(主数据库)
CREATE DATABASE Db_test
ON
( NAME = Db_test_DATA,
FILENAME = c:\Db_test.mdf )
LOG ON
( NAME = Db_test_LOG,
FILENAME = c:\Db_test.ldf)
GO
对数据库进行备份
BACKUP DATABASE Db_test TO DISK=c:\test_data.bak WITH FORMAT
GO
把数据库还原成备用数据库(演示主数据库与这个备用数据库之间的同步)
RESTORE DATABASE Db_test_bak FROM DISK=c:\test_data.bak
WITH REPLACE,STANDBY=c:\db_test_bak.ldf
,MOVE Db_test_DATA TO c:\Db_test_data.mdf
,MOVE Db_test_LOG TO c:\Db_test_log.ldf
GO
启动 SQL Agent 服务
EXEC master..xp_cmdshell net start sqlserveragent,no_output
GO
创建主服务器数据训与备用服务器数据库之间同步的作业
DECLARE @jogid uniqueidentifier
EXEC msdb..sp_add_job
@job_id = @jogid OUTPUT,
@job_name = N数据同步处理
创建同步处理步骤
EXEC msdb..sp_add_jobstep
@job_id = @jogid,
@step_name = N数据同步,
@subsystem = TSQL,
@command = N
主数据库中进行日志备份
BACKUP LOG Db_test TO DISK=c:\test_log.bak WITH FORMAT
备用数据库中还原主数据库的日志备份(应用主数据库中的最新变化
实际应该时主数据库备份与备用数据库的还原作业应该分别在主服务器和备用服务器上建立,并且备份文件应该放在主服务器和备用都能访问的共享目录中
RESTORE LOG Db_test_bak FROM DISK=c:\test_log.bak WITH STANDBY=c:\test_log.ldf,
@retry_attempts = 5,
@retry_interval = 5
创建调度(每分钟执行一次)
EXEC msdb..sp_add_jobschedule
@job_id = @jogid,
@name = N时间安排,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=0x4,
@freq_subday_interval=1,
@freq_recurrence_factor=1
添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
@job_id = @jogid,
@server_name = N(local)
GO
通过上述处理,主数据库与备用数据库之间的同步关系已经设置完成
下面开始测试是否能实现同步
在主数据库中创建一个测试用的表
CREATE TABLE Db_test.dbo.TB_test(ID int)
GO
等待1分钟30秒(由于同步的时间间隔设置为1分钟,所以要延时才能看到效果)
WAITFOR DELAY 00:01:30
GO
查询一下备用数据库,看看同步是否成功
SELECT * FROM Db_test_bak.dbo.TB_test
结果:
ID
-
(所影响的行数为 0 行)
测试成功
GO
最后删除所有的测试
DROP DATABASE Db_test,Db_test_bak
EXEC msdb..sp_delete_job @job_name=N数据同步处理
GO
===========================================================
服务器档机处理说明
使用这种方式建立的数据库同步,当主数据库不可用时(例如,主数据库损坏或者停机检修)
可以使用以下两种方法使备用数据库可用。
本文来自:http://www.q1010.com/179/7415-0.html
注:关于SQL Server 2000数据库同步 同步两个SQLServer数据库的内容的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:SQL SERVER
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。