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 / 问题 / 122476
Accepted
BradC
BradC
Asked: 2015-12-01 09:44:19 +0800 CST2015-12-01 09:44:19 +0800 CST 2015-12-01 09:44:19 +0800 CST

我可以在没有备用文件的情况下从 Standby/Read-Only 恢复 SQL 数据库吗?

  • 772

如果“备用文件”丢失,有什么方法可以从备用/只读模式恢复 SQL 数据库?

(我看到一些引用在日志传送场景中将此称为 TUF 文件,但在我的情况下,它只是手动恢复,备用文件具有 BAK 扩展名。)

执行“RESTORE DATABASE foo WITH RECOVERY”会导致致命错误:

During startup of warm standby database 'foo', its standby file
('path\filename.bak') was inaccessible to the RESTORE statement.
The operating system error was '5(Access is denied.)'. Diagnose the
operating system error, correct the problem, and retry startup.

恢复是不久前完成的,不幸的是,备用文件位于备份文件夹中,并被我们的文件夹清理例程删除。任何其他媒体上都不存在该文件的副本。用于恢复到这一点的原始备份也早已不复存在。

幸运的是,这对我们来说没什么大不了的(这是一个临时恢复),但除了“不要删除那个文件”之外,我在这个问题上找不到任何其他有用的参考资料。

如果归根结底,我想我可以编写整个数据库的脚本,或者使用 SSIS 将所有对象复制到一个新的数据库容器中,因为我面前有一个 db 的只读副本。

有什么办法可以解决这个问题?我当然不希望我能够将其翻转回“恢复”并继续进行后续恢复或其他任何操作,我只是想在当前状态下强制它进入正常在线模式,这样我就可以做到诸如更改权限,更改恢复模式,或进行新的完整备份之类的事情。

sql-server sql-server-2008
  • 1 1 个回答
  • 4615 Views

1 个回答

  • Voted
  1. Best Answer
    Kenneth Fisher
    2015-12-01T12:10:58+08:002015-12-01T12:10:58+08:00

    事实证明,如果您使用 CONTINUE_AFTER_ERROR 可以完成

    RESTORE DATABASE foo WITH RECOVERY, CONTINUE_AFTER_ERROR
    

    当我尝试它时,我仍然收到警告,但后来做了一个 CHECKDB 并且没有收到任何错误。

    RESTORE WITH CONTINUE_AFTER_ERROR was successful but some damage was encountered. Inconsistencies in the database are possible.
    RESTORE DATABASE successfully processed 0 pages in 4.180 seconds (0.000 MB/sec).
    Msg 3441, Level 17, State 1, Line 13
    During startup of warm standby database 'foo' (database ID 46), its standby file ('C:\MSSQL\Backup\foo_standby') was inaccessible to the RESTORE statement. The operating system error was '2(The system cannot find the file specified.)'. Diagnose the operating system error, correct the problem, and retry startup.
    

    鉴于警告,我不能 100% 确定我是否会在没有良好备份的生产数据库上尝试它。鉴于这是一个临时恢复,可能值得试一试。

    • 9

相关问题

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

  • 我在索引上放了多少“填充”?

  • 是否有开发人员遵循数据库更改的“最佳实践”类型流程?

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

  • 从 SQL Server 2008 降级到 2005

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