У меня есть база данных 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'