Въпроси и отговори

Излиза ми тази грешка в SQL MSMS: The transaction log for database is full. Какво да направя?


Излиза ми тази грешка:   The transaction log for database 'myDatabase' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases. Какво да направя?

Отговор: Влезте в Контролния панел в базата си в страницата SQL Database Properties, чрез Databases/SQL Server 2005. Там има Housekeeping Tools и натиснете бутона Truncate Files. Това ще доведе до изчистване на transaction log файла.

За SQL server версии след 2005 - SQL server 2008 и SQL server 2012 трябва да стартирате следното query използвайки MyLittleAdmin или SQL Manangement studio:

USE yourdatabasename_here;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE yourdatabasename_here
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (2, 1);  -- 2 is the file ID for tr log file,you can also mention the log file name (yourdatabasename_here_log)
GO
-- Reset the database recovery model.
ALTER DATABASE yourdatabasename_here
SET RECOVERY FULL;
GO