CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

使用T-SQL配置日志传送

作者: 深蓝,  出处:博客园, 责任编辑: 王晓晨, 
2008-07-22 15:35
  日志传送(log shipping)主要基于SQL Server代理,使用定时作业来完成,另外在配置日志传送之前必须要创建共享文件夹,用于辅助服务器访问。

  日志传送(log shipping)主要基于SQL Server代理,使用定时作业来完成,另外在配置日志传送之前必须要创建共享文件夹,用于辅助服务器访问。这里我们假设有数据库logTrans1需要进行日志传送,共享文件夹为“C:\data”,在T-SQL中配置日志传送主要有以下几步操作:

  (1)备份主数据库并在辅助服务器上还原主数据库的完整备份,初始化辅助数据库。具体操作如代码: 

backup database logTrans1 --在主数据库上备份
  to disk='c:\logt.bak'
  --以下是将数据库还原到辅助数据库上
  restore database logTrans2
  from disk='c:\logt.bak'
  with NORECOVERY,
  move 'logTrans' to 'c:\logTrans2.mdf',
  move 'logTrans_log' to 'c:\logTrans2.ldf'

  (2)在主服务器上,执行sp_add_log_shipping_primary_database以添加主数据库。存储过程将返回备份作业ID和主ID,具体SQL脚本如代码:

DECLARE @LS_BackupJobId AS uniqueidentifier
  DECLARE @LS_PrimaryId AS uniqueidentifier
  EXEC master.dbo.sp_add_log_shipping_primary_database
  @database = N'logTrans1'
  ,@backup_directory = N'D:\data'
  ,@backup_share = N'\\10.101.10.66\data'
  ,@backup_job_name = N'LSBackup_logTrans1'
  ,@backup_retention_period = 1440
  ,@monitor_server = N'localhost'
  ,@monitor_server_security_mode = 1
  ,@backup_threshold = 60
  ,@threshold_alert_enabled = 0
  ,@history_retention_period = 1440
  ,@backup_job_id = @LS_BackupJobId OUTPUT
  ,@primary_id = @LS_PrimaryId OUTPUT
  ,@overwrite = 1

  (3)在主服务器上,执行sp_add_jobschedule以添加使用备份作业的计划。为了能够尽快看到日志传送的效果,这里将日志备份的频率设置为2分钟一次。但是在实际生产环境中,一般是用不到这么高的执行频率的。添加计划的脚本如代码:

DECLARE @schedule_id int
  EXEC msdb.dbo.sp_add_jobschedule @job_name =N'LSBackup_logTrans1',
  @name=N'BackupDBEvery2Min',
  @enabled=1,
  @freq_type=4,
  @freq_interval=1,
  @freq_subday_type=4,
  @freq_subday_interval=2,
  @freq_relative_interval=0,
  @freq_recurrence_factor=1,
  @active_start_date=20080622,
  @active_end_date=99991231,
  @active_start_time=0,
  @active_end_time=235959,
  @schedule_id = @schedule_id OUTPUT
  select @schedule_id
  

  【注意:sp_add_jobschedule存储过程是在msdb数据库中,在其他数据库中是没有该存储过程的。】

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i