Production application went down with error 9001, the log for database is not available. The database shows suspect adjacent behaviour, some queries error while others worked moments ago.
What happened and what is the correct recovery order?
Production application went down with error 9001, the log for database is not available. The database shows suspect adjacent behaviour, some queries error while others worked moments ago.
What happened and what is the correct recovery order?
9001 means SQL Server lost the ability to write the transaction log mid flight, almost always because the IO path underneath dropped, a storage disconnect, controller hiccup, VM storage stall, a full or failing disk. The database took itself offline logically to protect consistency. The recovery order matters because the database is usually fine and the storage usually is not, so:
If the errorlog and event log show this was not the first blink, treat the storage as the patient rather than the database: intermittent IO drops recur on their own schedule and the next one may not land as gently. The database layer did its job here, 9001 taking the database offline is protection working, the layer below is where the trust was lost.
Event log showed the SAN path failover exactly at the timestamp, storage team confirmed and stabilized it. Offline online cycle brought it back in two minutes, CHECKDB clean, backup taken. The order mattered, my instinct was to restart the service first which would have hidden the evidence.