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 / 问题 / 11220
Accepted
Andrés Falcón
Andrés Falcón
Asked: 2011-02-19 10:04:10 +0800 CST2011-02-19 10:04:10 +0800 CST 2011-02-19 10:04:10 +0800 CST

SQL Server 显示正在恢复的数据库

  • 772

今天,电源故障后,一个数据库(恢复:已满)在 SSMS 中显示“恢复中”。所以:

myDatabase (In recovery) (数据库状态: recovery, Shutdown)

完成后,“恢复过程”数据库显示名称 myDatabase 没有“(恢复中)”。我以为问题解决了,但事实并非如此。

当我启动使用该数据库的应用程序时,额外的文本“(恢复中)”再次出现在我的数据库名称旁边。

我等到“恢复过程”完成,然后将数据库脱机并重新联机。

我重新启动服务器,重新启动计算机,当我的应用程序运行时,额外的文本再次出现。在 SQL Server 日志中,消息“正在启动数据库 'myDatabase'”出现了几次。似乎数据库正在工作,因为我可以插入数据,但状态显示它发生了一些事情。

服务器日志没有显示任何有趣的内容。唯一不正常的是我有 30 个“启动数据库'myDatabase'”条目。

我知道,当服务器启动时,每个数据库都会在准备好使用之前进行恢复。但在我的情况下,数据库上线然后显示“myDatabase(恢复中)”。如果我关闭应用程序,数据库将进入状态:正常。这真让我抓狂。

我什至安装了一个新的 SQL Server 实例,并将旧数据库“myDatabase”放在上面。问题仍然存在。

当我运行此查询时:

SELECT databasepropertyex('nyDatabase', 'STATUS')

显示正在恢复、在线、可疑和回到在线然后恢复等。

sql-server recovery
  • 3 3 个回答
  • 185589 Views

3 个回答

  • Voted
  1. RK Kuppala
    2012-02-22T04:40:36+08:002012-02-22T04:40:36+08:00

    我不确定这是否有助于解决问题,但你可以试一试。

    跑:

    RESTORE DATABASE YourDatabase WITH RECOVERY
    

    看看以上是否使数据库退出恢复模式。如果没有,那么问题可能是其他问题。

    你可以试试下面的命令,看看数据库是否损坏?

    DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS
    

    如果它检测到损坏,那么您可能需要使用修复数据库DBCC CHECKDB

    • 16
  2. Ben Thul
    2011-02-19T10:54:02+08:002011-02-19T10:54:02+08:00

    每当您使数据库联机时,它都会经历一个恢复过程。不过,我对您对问题的措辞感到有些困惑。除了数据库脱机(由于您最初的电源故障或您将其脱机然后再次联机)之外,您是否看到数据库进入恢复状态?如果是这样,则数据库由于某些其他原因而脱机。最好检查 SQL 服务器日志以了解发生了什么。

    您还应该检查 Windows 事件日志中是否存在磁盘故障等问题。在正常操作期间,数据库不应启动并进入恢复状态。

    • 6
  3. Best Answer
    user126897
    2017-10-07T02:02:33+08:002017-10-07T02:02:33+08:00

    社区 wiki 答案最初是其作者对问题的编辑:

    问题是设置了数据库属性AutoClose。

    解决方案是设置AutoClose为 false。

    • 2

相关问题

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

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

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

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

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

Sidebar

Stats

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

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

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

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +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
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +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