База данных скрыта в SQL Server

Во время прерванного импорта TFS (с 2008 по 2010) мне удалось "потерять" базу данных в 2008 году. База данных не видна в Management Studio, но исполняемый файл SQL Server имеет дескриптор файла.mdf (согласно UnLocker), он говорит, что не может присоединить его, потому что файл используется, и он не может прикрепить копию файла (созданную, когда SQL Server был остановлен), так как он говорит, что БД с тем же именем уже присоединена.

Учитывая, что я использую ту же учетную запись администратора TFS, которую я всегда использовал и всегда мог видеть базу данных, почему эта база данных отсутствует и, что более важно, как я могу вернуть ее снова?

3 ответа

Это довольно странно!

Возможно ли, что у вас запущен другой именованный экземпляр сервера sql и к нему прикреплена база данных?

Вы входите в SQL Server как системный администратор или sa и до сих пор не видите базу данных? Если вы не являетесь пользователем sa и не являетесь пользователем этой базы данных, возможно, вы не сможете увидеть ее при текущем входе в систему.
Разрешение VIEW ANY DATABASE может быть отказано в вашем текущем входе в систему или разрешение может быть отозвано из общедоступной роли.

Самый простой способ исправить это - сделать так, чтобы ваша учетная запись пользователя TFS (логин) была пользователем в базе данных.

Может показаться глупым, но... вы пытались перезапустить службу SQL Server?

Иногда файловые блокировки просто зависают без видимой причины.

Есть ли у вас доступ для просмотра всей активности базы данных, т. Е. Для просмотра открытых соединений с этой базой данных? Если вы видите процесс, работающий с этим именем базы данных, вы можете попытаться убить процесс.

У меня была такая проблема с БД, заблокированной Management Studio без четкой причины и убившей SPID, разобрали ее, чтобы я мог продолжить обслуживание, которое я пытался сделать.

Попробуйте запустить sp_who2 в окне запроса.

Другие вопросы по тегам