笔记284 设置SQL2005事务日志传送 不用看那个word文档,看截图跟这个sql脚本就可以了 2013-4-30

笔记284 设置SQL2005事务日志传送  不用看那个word文档,看截图跟这个sql脚本就可以了 2013-4-30

  1 --设置SQL2005事务日志传送  不用看那个word文档,看截图跟这个sql脚本就可以了 2013-4-30
  2 
  3 --1、在备机上建立共享文件夹和复制文件夹 我这里是复制文件夹和备用文件夹都用同一个\\WIN7U-20130414Z\PrimaryData
  4 --设置数据库的恢复模式
  5 USE master;
  6 ALTER DATABASE [hengshan] SET RECOVERY FULL;--完整恢复模式
  7 GO
  8 --设置共享文件 在备机上的D盘建立一个PrimaryData的文件夹,并设置备机上的administrator的密码为:888888
  9 --在cmd下执行 net view要看到备机 能ping通
 10 --exec master..xp_cmdshell 'net use \\192.168.0.3\PrimaryData 密码 /user:192.168.10.3\administrator'
 11 EXEC master..xp_cmdshell 'net use \\WIN7U-20130414Z\PrimaryData  888888 /user:WIN7U-20130414Z\administrator'
 12 
 13 --------2、执行完整备份---------------------------------
 14 BACKUP DATABASE [hengshan]
 15   TO DISK = '\\WIN7U-20130414Z\PrimaryData\hengshan.bak'
 16   WITH FORMAT;
 17 GO
 18 
 19 --3、开始执行日志传送----------------------------------
 20 --这一步看配图
 21 
 22 --日志传送可以读的
 23 with standby
 24 
 25 --事务日志模式
 26 --   在设置辅助数据库时,对于恢复事务日志Restore Transaction Log选项卡,我们设定了为No recovery mode,
 27 --   还有一个可供选择的则为Standby mode。在事物日志的传送过程中,
 28 --   恢复事务日志Restore Transaction Log与我们普通的恢复不同,一般情况下的恢复是回滚所有未提交的事务,
 29 --   前滚所有已提交但未写入磁盘的事务。事务日志中,如果一个事务回滚,所有改变的数据将会被丢失,
 30 --   因为在这个时候,你并不知道下一事物究竟是回滚还是提交。故在事务日志传送中提供了No recovery mode和Standby mode,
 31 --   两者的介绍如下:
 32 --1. 无恢复模式(No recovery mode):既不前滚也不回滚未提交的事务,数据不可读。
 33 --2. 备用模式(Standby mode):在恢复日志期间回滚所有未提交的事务,并且将所有未提交的事务保存为一个单独的Transaction Undo File(TUF)文件,
 34 --恢复过程通过该文件来维护事务的完整性,当恢复下一个事物的时候则恢复所有已提交的事务。
 35 --Standby mode中的复选框勾选则当日志恢复的时候,断开所有用户的连接,如果有一个用户没有断开,则还原无法进行。
 36 
 37 
 38 --辅助服务中hengshan 数据库由restoring显示为standby/read-only模式。如果设定的复制和恢复间隔时间很长,
 39 --可以手动执行主服务器中的backup作业和辅助服务器其中的copy 作业和restore作业,将主服务器上所有未复制的日志文件复制到设定的恢复目录(restorelog)中,
 40 --然后恢复到辅助服务器中。
 41 
 42 
 43 --同样也可以将Standby mode切换回No recovery mode期间回滚所有未提交的事务,并且将所有未提交的事务
 44 --保存为一个单独的Transaction Undo File(TUF)文件,恢复过程通过该文件来维护事务的完整性,
 45 --当恢复下一个事物的时候则恢复所有已提交的事务。Standby mode中的复选框勾选则当日志恢复的时候,
 46 --断开所有用户的连接,如果有一个用户没有断开,则还原无法进行。就是当有用户读取备库的时候,这些用户
 47 --连接都要断开,不是说主库的用户连接要断开
 48 
 49 
 50 
 51 
 52 ------4、辅助服务器上查看记录---------------------------------------------
 53 --如果以上步骤没问题的话,我们可以在辅助服务器上的PrimaryData 目录下看到trn后缀的文件。
 54 --
 55 --可以在代理下 查看作业执行的历史记录。
 56 --
 57 
 58 
 59 
 60 --5、故障恢复----------------------------------------------
 61 
 62 -- 故障转移测试
 63 --在主服务器Ecustom_qah数据库中,删除complex表中字段code_ts中以04开头的记录,delete from complex where code_ts like '04%'。
 64 --停止主服务器的MSSQLSERVER服务,然后删除主服务器中的Ecustom_qah数据库的mdf文件来模拟主服务器故障。
 65 --重新启动主服务器的MSSQLSERVER服务服务,在主服务器master中执行备份尾部日志。
 66 USE master
 67 go
 68 --备份主库尾部日志
 69 BACKUP  LOG [hengshan] TO DISK ='\\WIN7U-20130414Z\PrimaryData\last.bak' WITH NO_TRUNCATE
 70 GO
 71 --将主、辅助、监视服务器上日志传送的几个作业禁用(Disable) 。
 72 --在辅助服务器上执行copy作业和resotre作业将未复制过来的日志复制到恢复目录并全部恢复完毕。
 73 --将尾部日志恢复到辅助服务器辅助数据库中并使辅助数据库Ecustom处理联机状态。在辅助服务器master数据库中执行如下脚本:
 74 --在备库上还原尾部日志
 75 RESTORE LOG [hengshan] FROM DISK = 'D:\PrimaryData\last.bak' WITH NORECOVERY;
 76 go
 77 --显示正在还原
 78 RESTORE DATABASE [hengshan] WITH RECOVERY;
 79 go
 80 --可以访问了
 81 
 82 -- 改变应用程序的连接字符串,使应用程序连接到辅助服务器的辅助数据库,此时辅助服务器的辅助数据库已变成为主服务器主数据库。
 83 -- 当原始主服务器修复后,再重新配置日志传送即可。
 84 
 85 --------------------------------------------------------------------------------------------------------
 86 
 87 --每天在 0:00:00 和 23:59:00 之间、每 15 分钟 执行。将从 2013/4/30 开始使用计划
 88 --一般执行间隔都在15分钟,但是你可以自己手动执行作业:
 89 --先在主机上执行LSBackup_hengshan
 90 --然后在备机上执行LSCopy_JOE_hengshan
 91 --然后在备机上执行LSRestore_JOE_hengshan
 92 
 93 --执行方法:在SQLSERVER代理->作业->LSBackup_hengshan按右键->点击 "作业开始步骤" 按钮
 94 
 95 
 96 -------------------------------------------------------------
 97 --插入数据库的测试数据
 98 USE [hengshan]
 99 GO
100 INSERT INTO [dbo].[test]
101         ( [remark] )
102 VALUES  ( N'你好dfdsf'  -- remark - nchar(256)
103           )

 

posted @ 2013-08-04 20:55  桦仔  阅读(403)  评论(0编辑  收藏  举报