Sql-server – SQL Server shows database in recovery

recoverysql server

Today, after a power failure, one database (with Recovery: full) shows "In Recovery" in SSMS. So:

myDatabase (In recovery) (database status: recovery, Shutdown)

After finish, the "recovery process" the database shows the name myDatabase without "(In recovery)". I thought that the problem was solved, but it was not.

When I started the application that uses that database, the extra text "(In recovery)" appears again next to the name of my database.

I waited until the "recovery process" finished and then I took the database offline and brought it back online.

I restarted the server, restarted the computer and when my application was running the extra text appears again. In the SQL Server logs the message "Starting up database 'myDatabase'" appears few times. It seems that the database is working because I can insert data, but the state is showing that something it happens.

The server log is not showing anything interesting. The only abnormal thing is that I have 30 entries of "Starting up database 'myDatabase'".

I know that when the server starts every database goes through recovery before it is ready for use. But in my case, the database comes online then shows "myDatabase (In recovery)". If I close the application, the database goes to Status: Normal. This is driving me crazy.

I've even installed a new instance of SQL Server, and put the old database "myDatabase" on it. The problem still happens.

When I run this query:

SELECT databasepropertyex('nyDatabase', 'STATUS')

It shows recovering, online, suspect and the back to online and then recovering and so on.

Best Answer

Community wiki answer originally left as an edit to the question by its author:

The problem was that the database property AutoClose was set on.

The solution was to set AutoClose to false.