Назад | Перейти на главную страницу

Удалить данные из базы данных SQL Server на полном разделе

У меня есть база данных SQL Server 2005 на выделенном разделе, за то время, когда база данных выросла, и теперь она занимала все пространство на разделе, теперь проблема в том, что единственная операция, которую я могу сделать с базой данных, - это отсоединение, но я хочу удалить старые данные из некоторых таблиц для экономии места ...

Как удалить старые данные из базы данных, если интерфейс SQL Server не позволяет выполнять запросы к ней?

SQL Server не может выполнить операцию, потому что Журнал транзакций полон; он не имеет ничего общего с файлом (ами) данных.
Пока в журнале транзакций есть место, SQL-сервер не перестанет работать.

Вам нужно выяснить, заполнен ли журнал транзакций и почему:

DBCC SQLPERF (LOGSPACE)

Что вы можете попробовать, так это переключить БД на ПРОСТОЕ восстановление:

ALTER DATABASE YourDB SET RECOVERY SIMPLE

Если он не освобождает место, посмотрите, что этому мешает:

SELECT log_reuse_wait_desc FROM sys.databases WHERE name = 'YourDB'