Sql-server – Manual failover error, not in correct state

mirroringsql server

I'm doing some tests to build one database with one mirror database and one witness.

so far, I'm failing in the first test,
I want to kill the witness, then the Main database, and then put the Mirror database working as Main database.

So when I killed the witness,and then the Main database and did

ALTER DATABASE [MyDataBase] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

but I got:

Msg 1455, Level 16, State 106, Line 1
The database mirroring service cannot be forced for database "MyDataBase" because the database is not in the correct state to become the principal database.

I've been watching this tutorial and in that video everything goes just has planed.

You can see here my databases and my query to see if I'm missing something.

enter image description here

I'm having the same problem with both principal and mirror up, I'm unable to force mirror to turn to principal.

What am I missing?

edit:
I can put the mirror database up with these commands

ALTER DATABASE [MyDatabase] SET PARTNER OFF
RESTORE DATABASE [MyDatabase] WITH RECOVERY

but if I do this I loose my mirroring settings, and when the other database comes up, is not connected to this one.

Best Answer

Your secondary database needs to be in a "Restoring..." state. Can you verify that? When you restore the database on the secondary server, it needs to be with NORECOVERY to put it in this state.