Добрый день!
Я делаю тестовую оболочку для проекта с MSSQL 2000, которая при начале тестов делает BACKUP DATABASE в файл, а при окончании должна БД восстанавливать.
При попытке восстановить БД кодом:
restore database DBName from DISK='file.path'
При выполнении вываливается
Error: 3101, Severity: 16, State: 1 Exclusive access could not be obtained because the database is in use.
, так как тестируемые модули все еще имеют активные (вернее, открытые) соединения к БД, но их требуется отключить.
В документации рекомендуется выполнить перед операцией
ALTER DATABASE SET SINGLE_USER
, но на практике вываливается (на этот раз после долгого ожидания) следующее:
Error: 5069, Severity: 16, State: 1 ALTER DATABASE statement failed.
Аккаунт, под которым выполняется операция, есть db_owner.
Может быть, есть другие способы отключить соединения?