xml地图|网站地图|网站标签 [设为首页] [加入收藏]
宝马娱乐在线网址Sqlserver2000 数据库备份实例代码
分类:网络频道

复制代码 代码如下:数据库备份实例/** **数据库备份实例 **朱二 2004年5月 **备份策略: **数据库名:test **备份文件的路径e:backup **每个星期天凌晨1点做一次完全备份,为保险起见,备份到两个同样的完全备份文件test_full_A.bak和test_full_B.bak **每天1点(除了星期天)做一次差异备份,分别备份到两个文件test_df_A.bak和test_df_B.bak(采用附加到原备份的方式) **每一个小时做一次事务日志备份,分别备份到两个文件test_log_A.bak和test_log_B.bak(采用附加到原备份的方式) **/ --第一 完全备份部分 --新增作业 EXEC sp_add_job @job_name = '完全备份' --新增作业步骤1,把数据库备份到test_full_backup_A.bak EXEC sp_add_jobstep @job_name = '完全备份', @step_name = 'Setp1', @subsystem = 'TSQL', @command = 'BACKUP DATABASE Test TO DISK=''e:backuptest_full_A.bak'' WITH INIT', @on_fail_action=3, --失败后转到下一步 @on_success_action=3,-- 成功后转到下一步 @retry_attempts = 5, @retry_interval = 5 --新增作业步骤2,把数据库备份到test_full_B.bak EXEC sp_add_jobstep @job_name = '完全备份', @step_name = 'Setp2', @subsystem = 'TSQL', @command = 'BACKUP DATABASE Test TO DISK=''e:backuptest_full_B.bak'' WITH INIT', @retry_attempts = 5, @retry_interval = 5 --调度 EXEC sp_add_jobschedule @job_name = '完全备份', @name = 'Schedule_1', @freq_type = 8, -- 按周 @freq_interval = 1, --每星期天执行 @freq_recurrence_factor=1, @active_start_time = 10000 --开始时间: 凌晨1点 --第二 差异备份部分 --新增作业 EXEC sp_add_job @job_name = '差异备份' --新增作业步骤1,把数据库备份到test_df_A.bak EXEC sp_add_jobstep @job_name = '差异备份', @step_name = 'Setp1', @subsystem = 'TSQL', @command = 'BACKUP DATABASE Test TO DISK=''e:backuptest_df_A.bak'' WITH DIFFERENTIAL', @on_fail_action=3, --失败后转到下一步 @on_success_action=3,-- 成功后转到下一步 @retry_attempts = 5, @retry_interval = 5 --新增作业步骤2,把数据库备份到test_df_B.bak EXEC sp_add_jobstep @job_name = '差异备份', @step_name = 'Setp2', @subsystem = 'TSQL', @command = 'BACKUP DATABASE Test TO DISK=''e:backuptest_df_B.bak'' WITH DIFFERENTIAL', @retry_attempts = 5, @retry_interval = 5 --调度 EXEC sp_add_jobschedule @job_name = '差异备份', @name = 'Schedule_1', @freq_type = 8, -- 按周 @freq_interval = 126, --星期一至星期六 @freq_recurrence_factor=1, @active_start_time = 10000 --开始时间: 凌晨1点 --第二 事务备份部分 --新增作业 EXEC sp_add_job @job_name = '事务备份' --新增作业步骤1,把数据库备份到test_log_A.bak EXEC sp_add_jobstep @job_name = '事务备份', @step_name = 'Setp1', @subsystem = 'TSQL', @command = 'BACKUP LOG Test TO DISK=''e:backuptest_log_A.bak''', @on_fail_action=3, --失败后转到下一步 @on_success_action=3,-- 成功后转到下一步 @retry_attempts = 5, @retry_interval = 5 --新增作业步骤2,把数据库备份到test_log_B.bak EXEC sp_add_jobstep @job_name = '事务备份', @step_name = 'Setp2', @subsystem = 'TSQL', @command = 'BACKUP LOG Test TO DISK=''e:backuptest_log_B.bak''', @retry_attempts = 5, @retry_宝马娱乐在线网址,interval = 5 --调度 EXEC sp_add_jobschedule @job_name = '事务备份', @name = 'Schedule_1', @freq_type = 4, -- 按天 @freq_interval=1,--每一天 @freq_subday_type=8, --按小时 @freq_subday_interval=1 --每一个小时

--对数据库进行备份
BACKUP DATABASE Db_test TO DISK='c:test_data.bak' WITH FORMAT
GO

-- 添加目标服务器
EXEC msdb.dbo.sp_add_jobserver
 @job_id = @jogid,
 @server_name = N'(local)'
GO

--备用数据库中还原主数据库的日志备份(应用主数据库中的最新变化
--实际应该时主数据库备份与备用数据库的还原作业应该分别在主服务器和备用服务器上建立,并且备份文件应该放在主服务器和备用都能访问的共享目录中
RESTORE LOG Db_test_bak FROM DISK=''c:test_log.bak'' WITH STANDBY=''c:test_log.ldf''',
 @retry_attempts = 5,
 @retry_interval = 5

--通过上述处理,主数据库与备用数据库之间的同步关系已经设置完成
--下面开始测试是否能实现同步

--启动 SQL Agent 服务
EXEC master..xp_cmdshell 'net start sqlserveragent',no_output
GO

--在主数据库中创建一个测试用的表
CREATE TABLE Db_test.dbo.TB_test(ID int)
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

--创建同步处理步骤
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

本文由宝马娱乐在线发布于网络频道,转载请注明出处:宝马娱乐在线网址Sqlserver2000 数据库备份实例代码

上一篇:sqlserver数据库危险扩展删除和恢复代码宝马娱乐 下一篇:没有了
猜你喜欢
热门排行
精彩图文