AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 278803
Accepted
Justin Frye
Justin Frye
Asked: 2020-10-29 05:47:06 +0800 CST2020-10-29 05:47:06 +0800 CST 2020-10-29 05:47:06 +0800 CST

从当前数据库维护计划中排除日志传送数据库(Ola 的解决方案)

  • 772

高级 DBA 和我正在讨论我们最近将日志传送到 25 台以上的服务器,我们在试点期间遇到的问题之一是日志链随机中断。

我们缩小了在某一时刻导致此问题的其他几个因素(VEEAM 备份未在应用程序感知处理中使用“仅复制”)。然而,在解决了许多问题之后,我们的一位同事提到我们应该从我们现有的任何维护计划中删除日志传送数据库。

但是,我不记得在哪里,我的高级 DBA 和我的印象是,我们在某处读过日志传送的 dbs 在默认情况下被忽略。尽管如此,我们还是删除了日志备份(包括完整备份和差异备份),这解决了问题。

我的问题是:我们应该排除备份吗?然后接下来的问题是他们是否应该被排除在 Ola 和/或 MSFT 的计划之外?

无论如何,我们的问题已经解决了——这只是一个检查我们在某处读过这篇文章的理智的问题。

sql-server log-shipping
  • 1 1 个回答
  • 71 Views

1 个回答

  • Voted
  1. Best Answer
    SqlWorldWide
    2020-10-30T17:19:19+08:002020-10-30T17:19:19+08:00

    当您设置日志传送时,它会为事务日志备份创建一个作业。如果您已经有一个现有的事务日志备份作业,则应禁用/删除任何类型(维护计划、Ola 的解决方案、SQL 代理作业)。

    有一种解决方法可以保留现有的事务日志备份作业并设置日志传送。您可以禁用在日志购物设置期间创建的作业。

    示例代码:

    -- Execute the following statements at the Primary to configure Log Shipping 
    -- for the database [HostName\SQL2019].[DbaDatabase],
    -- The script needs to be run at the Primary in the context of the [msdb] database.  
    ------------------------------------------------------------------------------------- 
    -- Adding the Log Shipping configuration 
    
    -- ****** Begin: Script to be run at Primary: [HostName\SQL2019] ******
    
    
    DECLARE @LS_BackupJobId AS uniqueidentifier 
    DECLARE @LS_PrimaryId   AS uniqueidentifier 
    DECLARE @SP_Add_RetCode As int 
    
    
    EXEC @SP_Add_RetCode = master.dbo.sp_add_log_shipping_primary_database 
            @database = N'DbaDatabase' 
            ,@backup_directory = N'\\logshipping\backup' 
            ,@backup_share = N'\\logshipping\backup' 
            ,@backup_job_name = N'LSBackup_DbaDatabase' 
            ,@backup_retention_period = 4320
            ,@backup_compression = 2
            ,@backup_threshold = 60 
            ,@threshold_alert_enabled = 1
            ,@history_retention_period = 5760 
            ,@backup_job_id = @LS_BackupJobId OUTPUT 
            ,@primary_id = @LS_PrimaryId OUTPUT 
            ,@overwrite = 1 
    
    
    IF (@@ERROR = 0 AND @SP_Add_RetCode = 0) 
    BEGIN 
    
    DECLARE @LS_BackUpScheduleUID   As uniqueidentifier 
    DECLARE @LS_BackUpScheduleID    AS int 
    
    
    EXEC msdb.dbo.sp_add_schedule 
            @schedule_name =N'LSBackupSchedule_HostName\SQL20191' 
            ,@enabled = 1 
            ,@freq_type = 4 
            ,@freq_interval = 1 
            ,@freq_subday_type = 4 
            ,@freq_subday_interval = 15 
            ,@freq_recurrence_factor = 0 
            ,@active_start_date = 20201029 
            ,@active_end_date = 99991231 
            ,@active_start_time = 0 
            ,@active_end_time = 235900 
            ,@schedule_uid = @LS_BackUpScheduleUID OUTPUT 
            ,@schedule_id = @LS_BackUpScheduleID OUTPUT 
    
    EXEC msdb.dbo.sp_attach_schedule 
            @job_id = @LS_BackupJobId 
            ,@schedule_id = @LS_BackUpScheduleID  
    
    EXEC msdb.dbo.sp_update_job 
            @job_id = @LS_BackupJobId 
            ,@enabled = 0 
    
    
    END 
    
    
    EXEC master.dbo.sp_add_log_shipping_alert_job 
    
    -- ****** End: Script to be run at Primary: [HostName\SQL2019]  ******
    
    • 1

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve