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 / 问题

问题[log-shipping](dba)

Martin Hope
user189695
Asked: 2021-07-23 02:12:22 +0800 CST

移动日志数据库文件

  • -1

我想将一个 ldf 文件从一个驱动器移动到另一个驱动器。某些绝对不是我的白痴将日志文件恢复到了现在几乎已满的错误驱动器。

对于 logship 环境,数据库是只读/备用的。Alter database .. modify file不起作用,因为数据库是只读的。我无法分离/附加,因为我无法使用create .. for attach.

如果我使用更改数据库:

Msg 5004, Level 16, State 4, Line 9
To use ALTER DATABASE, the database must be in a writable state in which a checkpoint can be executed.

如果我尝试附加:

Msg 1824, Level 16, State 1, Line 11
Cannot attach a database that was being restored.

我做的小测试用例:

-- create ro/standby db
restore database test 
    from disk = 'D:\BakMcBakface.bak'
    with 
    move 'data' to 'D:\test.mdf',
    move 'log' to 'D:\test.ldf',
    standby='D:\test.standby'

-- try alter
ALTER DATABASE test MODIFY FILE ( NAME = 'log', FILENAME = 'd:\test2.ldf' );

-- try detach/attach db
EXEC master.dbo.sp_detach_db @dbname = N'test'

-- attach db
 CREATE DATABASE [test] 
 ON 
    (filename=N'D:\test.mdf'),
    (filename=N'D:\test2.ldf')
    for attach
    -- with standby='D:\test.standby'

作为最后的手段,我可​​以进行完全恢复,但这是一个多 TB 数据库,我尽量避免这种情况。如果我可以在待机模式下连接,我就完成了。我也可以直接修改 sys 表,但我宁愿不是 Cthulhu 回归的原因。

log-shipping sql-server-2014
  • 1 个回答
  • 129 Views
Martin Hope
Justin Frye
Asked: 2020-10-29 05:47:06 +0800 CST

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

  • 1

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

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

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

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

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

sql-server log-shipping
  • 1 个回答
  • 71 Views
Martin Hope
BrianC
Asked: 2020-08-15 08:05:09 +0800 CST

从不同版本的不同主机发送 SQL 日志 [重复]

  • 0
这个问题在这里已经有了答案:
跨多个 SQL Server 版本的事务日志传送 2 个答案
2年前关闭。

我们有一个当前设置,其中我们有两个 SQL 2008R2 数据库服务器在生产中。我们的报告团队要求他们可以在一个地方查询来自两台服务器的数据(以避免直接影响生产和链接服务器的性能问题)。因此,我们设置了日志传送,将多个数据库从两个源传送到目标服务器。它工作得很好,目标服务器上的数据库在白天只读,只有在晚上安排日志传送恢复时才不可用。但是,两个源服务器的供应商应用程序都在进行升级项目,很遗憾它们必须是不同的版本(分别为 SQL 2014 和 2016)。

我研究过的大部分内容似乎都说您无法从不同的源版本登录,但我还发现信息表明您可以从较低版本发送到较高版本,但找不到任何官方信息。

所以,我的问题是,是否可以从 2016 年和 2014 年的来源记录发货到 2016 年的目的地,并在数据库不恢复时让数据库只读?微软对此有官方确认吗?

sql-server log-shipping
  • 1 个回答
  • 442 Views
Martin Hope
Shekar Kola
Asked: 2019-10-17 01:47:02 +0800 CST

我们可以更改日志传送备份文件命名约定吗

  • 2

似乎日志传送备份文件的命名约定(尤其是名称中的日期时间戳)后跟 UTC 时间,我相信这是默认和标准的。

我想澄清以下情况:

  1. 我想知道是否有可能更改命名约定以遵循执行 BACKUP 的服务器的本地时区的日期时间。
  2. 命名约定(UTC 时间戳作为后缀)真的很重要,因为无论如何日志传送复制/恢复作业都会考虑每个备份文件之间的 LSN 以维护有效的日志备份链。

目的是避免在我每天维护一个 zip 文件的压缩过程中出现问题,并且根据以下屏幕截图,它将合并属于不同日期 (2019-10-16) 的其他文件 (20191015xxxxx)

在此处输入图像描述

sql-server log-shipping
  • 1 个回答
  • 171 Views
Martin Hope
jack
Asked: 2019-10-14 23:28:15 +0800 CST

日志传送备份

  • 1

我对日志传送的备份感到困惑,通过在主数据库中进行完整备份(不是仅复制),它是否会影响日志备份 LSN 链并导致日志传送不起作用?如果它不影响 LSN 链,我可以在主服务器中进行完整备份和差异备份,然后对于日志备份,我可以使用通过日志传送在共享文件夹中完成的日志备份进行恢复,以防主服务器和辅助服务器停机。

sql-server-2012 log-shipping
  • 1 个回答
  • 75 Views
Martin Hope
KittyGalore
Asked: 2019-05-16 18:31:24 +0800 CST

事务日志传送状态中的日志传送备份灰色

  • 1

我的网络速度很慢,通过 GUI 配置日志传送总是超时,所以我生成脚本并在主服务器和辅助服务器上运行它。

[msdb].[dbo].log_shipping_monitor_primary脚本工作正常,但如果我在辅助服务器中选择我的主数据库不插入该表,则主数据库不会显示在辅助服务器日志传送报告中。

  1. 当我生成或运行导致无法正确配置的日志传送脚本时,是否可能有问题?
  2. 如何解决这个问题,我可以手动插入[msdb].[dbo].log_shipping_monitor_primary还是不够?

目前,备份、复制和恢复在我的服务器中工作正常,只是备份状态在报告事务日志传送时不显示。

sql-server log-shipping
  • 1 个回答
  • 705 Views
Martin Hope
RIanGillis
Asked: 2019-05-10 07:34:20 +0800 CST

两个数据库处于备用/只读状态,只能更改为 SINGLE_USER 其中一个

  • 3

我正在将两个数据库的备用/只读模式下的事务日志传送设置到多个实例。

在将事务日志备份并还原到其单独的实例(每个实例上每个数据库的一个副本)后,当我执行以下操作时,其中一个数据库没有问题:

ALTER DATABASE [dbname] SET SINGLE USER WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [dbname] SET MULTI_USER;

另一个抛出错误:

Failed to update database "other_dbname" because the database is read-only.

我看不出两者有什么区别。我检查了属性,所有选项都相同。在选项选项卡中,会引发错误的数据库将兼容性级别设置为 SQL Server 2012,而允许我更改的数据库将该值设置为 SQL Server 2014,但将它们都更改为 2014 并不能解决问题。

我完全不知道问题可能是什么,或者我可以研究什么会为我指明正确的方向。

编辑:上述命令在链接服务器上执行,如果这可能与它有关。用户相同,权限相同,我能够在第一个数据库上执行命令,无论它们是通过 SSMS 还是通过作业执行,它们总是在第二个数据库上失败。

显示待机/只读和 MULTI_USER 的屏幕截图

选项: 选项的屏幕截图

sql-server log-shipping
  • 2 个回答
  • 1307 Views
Martin Hope
Learning_DBAdmin
Asked: 2018-11-20 00:43:55 +0800 CST

监控多个数据库的日志传送

  • 0

我们正在为托管在不同服务器上的多个数据库设置日志传送,当流程开始时,我注意到监控服务器上只保留了一个 SQL 作业。

我们的计划是拥有一个监控服务器,它将监控生产和数据库 DR 之间的所有复制,我们可以设置警报以防任何复制出现问题。

请建议如何在监控服务器上进行多项工作。

sql-server log-shipping
  • 1 个回答
  • 227 Views
Martin Hope
igelr
Asked: 2018-10-20 01:40:01 +0800 CST

Log Shipping 主从服务器是否可以同时在线?

  • 0

我是日志传送的新手,我想知道主服务器和辅助服务器是否可以像在复制中一样同时在线,或者只有主服务器可以在线而其他服务器获得日志备份但处于被动状态?

sql-server log-shipping
  • 2 个回答
  • 71 Views
Martin Hope
BeginnerDBA
Asked: 2018-09-19 05:34:17 +0800 CST

日志传送恢复作业何时在待机模式下将自身标记为完成

  • 1

我正在编辑我之前的问题以更精确,因为我仍然无法获得日志传送恢复作业背后的逻辑。

可能有一些我想解释的事情,但我会尽力而为。

我们每天晚上 10:00 在辅助设备上运行一次夜间日志传送恢复作业。当它开始恢复时,它会从上次运行时完成的位置选择日志备份。我了解每个Kins 链接如何完成日志恢复,但我看到 LS 恢复将尝试尽可能接近当前运行时间并完成。但那个时间有时会相差 30 分钟、20 分钟甚至一个小时。

目前还不清楚 ls restore 如何检查这是它完成的最佳时间。这是为了让用户知道数据通过 LS 作业恢复到一天中的什么时间,以便他们可以相应地从 Standby 数据库查询和获取数据:

上一个问题被标记为重复 @日志传送恢复的工作原理

例如:我看到的是 LS 恢复在凌晨 3:30 完成。对于恢复的日志备份,我看到仅恢复了凌晨 2:45 到达的文件,但没有恢复凌晨 3 点和凌晨 3:15 的文件。所以只是想如果这 2 个文件被复制,为什么 LS 恢复忽略它们并完成。LS 备份和 LS 复制每 15 分钟发生一次,而在晚上 10 点恢复一次。所以我需要了解 LS 恢复如何决定它完成的基础是什么?

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

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