Не удается удалить данные или файлы журналов SQLServer2005 - PullRequest
1 голос
/ 19 января 2009

Я пытался восстановить резервную копию, но продолжал получать ошибку ОС 32 - не могу удалить, потому что используется.

Не удалось выяснить, что блокировало данные и файлы журналов, поэтому я перезагрузил компьютер, остановил службу, но все равно не повезло.

Затем я удалил БД, но файлы данных и журналов все еще там.

Снова перезагрузился - попытался удалить их, но, похоже, ничего не поделаешь, Windows не позволяет мне.

Есть идеи?

Ответы [ 7 ]

3 голосов
/ 20 января 2009

Антивирусное программное обеспечение - это то, что ловит администраторов баз данных - файлы MDF / LDF довольно большие, и я видел случаи, когда программное обеспечение AV захватывало файлы для их сканирования, но это занимало вечность из-за размера файла. Вы можете попробовать остановить антивирусную службу.

Еще одна программа резервного копирования - если вы используете резервные копии на основе файлов (например, Backup Exec или NetBackup), они могут пытаться запустить резервное копирование файлов в данный момент. Проверьте наличие программ резервного копирования, остановите их и попробуйте удалить файлы.

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

3 голосов
/ 19 января 2009

Используйте Process Explorer, инструмент Microsoft, который сообщит вам, какой процесс в данный момент заблокировал файл, и подскажет, что вам нужно остановить / закрыть, прежде чем вы сможете удалить файл.

Вот учебник по выяснению, у кого заблокирован файл:

http://windowsxp.mvps.org/processlock.htm

1 голос
/ 12 марта 2014

Я столкнулся с подобной ошибкой, когда я не смог удалить файлы данных и файлы журналов после отсоединения баз данных.

Я получил сообщение об ошибке «Требуется привилегия администратора».

Это было решено путем изменения разрешения файла. Перейдите к строке приглашения -> введите «Проводник Windows» -> Запуск от имени администратора и получите доступ к файлу.

Щелкните правой кнопкой мыши имя файла и выберите «Свойства». Перейдите на вкладку «Безопасность» и добавьте учетную запись домена с полными разрешениями.

Теперь вы сможете удалить файл.

0 голосов
/ 14 февраля 2012

Я обнаружил ошибку, похожую на эту, но это была проблема с правами доступа, а не что-либо еще. База данных была создана под другим пользователем, и обычная учетная запись администратора вообще не имела разрешений на файлы LDF / MDF.

Другие симптомы заключались в том, что администратор не мог создать базу данных с тем же именем, и что стороннее приложение не могло выполнить импорт данных (так как оно отбрасывало и воссоздавало базу данных)

0 голосов
/ 13 марта 2011

Я обнаружил еще одну причину ошибки «используется системой». В моем случае я не смог удалить файл после отсоединения от всех экземпляров и перезагрузки. Это не было проблемой с разрешениями безопасности. Он также не использовался какой-либо программой, поскольку проводник процессов не отображал процесс, использующий его. В моем случае причиной была неправильная проверка из mdf Visual Studio TFS . Кажется, если вы извлекаете файл, а затем теряете соединение с TFS-сервером - вы не сможете удалить или переименовать файл, используя «Используется системой». Даже без VS началось. Файл можно удалить в безопасном режиме. И, что более важно - файл может быть разблокирован должным образом, если вы снова подключите TFS и правильно выполните преформу

0 голосов
/ 19 января 2009

Вы удалили БД в SSMS, но файлы все еще там? (больше не нужно отсоединять, если вы «удалили» записи) Вы, вероятно, поставили флажок «Сохранить файлы данных»

но я думаю, что перезагрузка должна позволить вам удалить файлы .mdf и .ldf Если нет, попробуйте загрузиться в безопасном режиме и удалите фактические файлы, тогда

0 голосов
/ 19 января 2009

Вы должны иметь возможность отсоединить (а не удалить) базу данных, а затем переместить или удалить файлы данных.

Microsoft KB.

...