Log shipping 部署及配置

【声明】本文为AdamsLee原创,转载请注明出自围炉网并保留本文有效链接:Log shipping 部署及配置, 转载请保留本声明!

Log shipping 部署及配置

1.     在primary 和 secondary 机器上创建账户sqllogshipper且在两台机器上的密码相同。

2.     在primary 机器上创建LSBackup目录(e.g. d:\LSBackup),添加共享并赋予sqllogshipper 和everyone读写权限。

3.     在secondary 机器上创建LSCopyDest目录(e.g. d:\LSCopyDest),添加共享并赋予sqllogshipper 读写权限和everyone读权限。

4.     设置primary 和 secondary 机器上的”SQL Server Agent (MSSQLSERVER)”服务以sqllogshipper身份启动。

5.     在primary 机器上备份Lba数据后拷贝到secondary机器上

6.     在secondary 机器上restore 备份数据库。注意Restore options要设为 restore with norecovery 或者 restore with standby 而非默认的restore with recovery。(建议使用restore with norecovery, standby模式容易出现restore失败的情况:Message 2013-01-05 12:04:20.62     *** Error: Could not apply log backup file '\\dpbx12\LSCopyDest\Lba_20130105035600.trn' to secondary database 'Lba'.(Microsoft.SqlServer.Management.LogShipping) *** 2013-01-05 12:04:20.62     *** Error: Exclusive access could not be obtained because the database is in use. RESTORE LOG is terminating abnormally.(.Net SqlClient Data Provider) ***)

Figure 1

7.     在primary 机器上进入management studio -> 选择Lba数据库 -> 右键Properties –> Check “Enable this as a primary database in a log shipping configuration”

Figure 2

8.     点击Backup Settings…按钮设置备份频率,比如每两分钟备份一次。点击OK。

Figure 3

9.     点击Secondary databases -> Add… 按钮,添加Secondary Server。选择”Initialize Secondary Database” Tab -> ”No, the secondary database is initialized”;

Figure 4

10.     选择”Copy Files” Tab -> 设置复制job频率

Figure 5

11.     选择”Restore Transaction Log” Tab -> 设置还原job频率及报警,点击OK。

Figure 6

12.     点击OK完成log shipping 设置。

13.     拷贝SMSAlerter 工具到primary 机器

14.     如果需要的话,修改app.config 中DailyAlertLimit, AlertDestination, MessageQueuePath值。

15.     添加SQL Server Agent  Job:在Jobs上右键New Job,设置Name: SMSAlert,Category: Log Shipping;

Figure 7

16.     点击Steps,添加step,点击OK。

Figure 8

17.     点击OK,完成Job添加。

18.     右键 SQL Server Agent -> Alerts -> Log shipping Primary Server Alert,点击Properties,点击Response,选中”Execute Job” -> SMSAlert。点击OK。

Figure 9

19.     拷贝SMSAlerter 工具到secondary 机器。

20.     如果需要的话,修改app.config 中DailyAlertLimit, AlertDestination, MessageQueuePath值。

21.     添加SQL Server Agent  Job:在Jobs上右键New Job,设置Name: SMSAlert,Category: Log Shipping;

22.     点击Steps,添加step,点击OK。

23.     点击OK,完成Job添加。

24.     右键 SQL Server Agent -> Alerts -> Log shipping Secondary Server Alert,点击Properties,点击Response,选中”Execute Job” -> SMSAlert。点击OK。

Log Shipping Recovery

1.     将尚未拷贝到secondary 机器上的transaction log文件拷贝到secondary机器

2.     查看secondary机器上当前自动恢复到了哪一个transaction log文件(可通过查看LSRestore_DPBX11_Lba Job 历史记录得到)

3.     将尚未恢复的transaction log手动恢复,注意手动恢复时选择restore with norecovery

4.     最后通过restore database Lba with recovery获得最新的数据库

5.     Disable log backup/copy/restore jobs while the primary is down

此条目发表在未分类分类目录,贴了, 标签。将固定链接加入收藏夹。