首先,创建一个演示用的数据库(主数据库)。
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
创建调度(每分钟执行一次)。
文章来源于领测软件测试网 https://www.ltesting.net/