Звучит так, как будто вы выполняете восстановление базы данных с опцией NORECOVERY
. Причина, по которой вы захотите это сделать, заключается в том, что вы планировали применить последующие резервные копии журнала транзакций после первоначального восстановления.
Если вы хотите восстановить только одну резервную копию базы данных, удалите предложение NORECOVERY
. Если вы восстанавливаете резервные копии журнала транзакций, окончательное восстановление должно быть выполнено без предложения NORECOVERY
или, если последнее было применено с NORECOVERY
, вы можете RESTORE DATABASE DbName WITH RECOVERY
завершить.
Чтобы ответить на ваш вопрос:
Метод 1
SELECT DATABASEPROPERTYEX ('DatabaseName', 'Status')
См. Электронную документацию по SQL Server: DATABASEPROPERTYEX (Transact-SQL)
Метод 2
Просмотрите системное представление sys.databases, чтобы определить текущее состояние базы данных. Например:
SELECT
state,
state_desc
FROM sys.databases
WHERE [name] = 'DatabaseName'
Состояние 1 = ВОССТАНОВЛЕНИЕ
См. Sys.Database для документации относительно этого системного представления.