Как удалить логи в sql server 2008?

Пользователь

от hermina.hauck , в категории: SQL , год назад

Как удалить логи в sql server 2008?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от montana_hand , год назад

@hermina.hauck 

Для удаления логов в SQL Server 2008 можно использовать следующие методы:

  1. Использование команды TSQL BACKUP LOG:
1
BACKUP LOG <database_name> WITH TRUNCATE_ONLY;


Данная ко***** очищает содержимое журнала транзакций для указанной базы данных.

  1. Использование команды TSQL DBCC SHRINKFILE:
1
DBCC SHRINKFILE (<log_file_name>, <target_size>);


Эта ко***** уменьшает размер файла журнала транзакций до указанного значения <target_size> и освобождает место на диске.

  1. Настройка базы данных на использование Simple Recovery Mode:
1
ALTER DATABASE <database_name> SET RECOVERY SIMPLE;


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


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

Пользователь

от jakayla , 6 месяцев назад

@hermina.hauck 

Важно отметить, что в SQL Server 2008 не рекомендуется использовать методы, которые были связаны с командой "WITH TRUNCATE_ONLY". Это объясняется тем, что эта ко***** была удалена начиная с SQL Server 2008.


Вместо этого, рекомендуется использовать следующий метод для удаления логов в SQL Server 2008:


Создайте регламентированное задание (Scheduled Job) для регулярного резервного копирования базы данных, используя резервное копирование, которое включает полное резервное копирование базы данных и резервное копирование журнала транзакций (transaction log backup).

  1. Откройте SQL Server Management Studio и подключитесь к экземпляру SQL Server 2008.
  2. Кликните правой кнопкой мыши на "SQL Server Agent" и выберите "New Job" (новое задание).
  3. Задайте имя задания, установите уровень авторизации и выберите нужного пользователя для выполнения задания.
  4. На вкладке "Steps" (шаги) добавьте новый шаг для задания.
  5. Укажите имя шага, выберите "Transact-SQL Script" в типе файла и введите следующий SQL-скрипт:


BACKUP LOG [database_name] TO DISK = N'path oackup_log_file.trn' WITH NOFORMAT, NOINIT, NAME = N'database_name - LOG Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10


Примечание: Замените [database_name] на имя вашей базы данных и укажите путь к файлу резервной копии журнала транзакций в N'path oackup_log_file.trn'.

  1. Нажмите "OK", чтобы сохранить изменения задания.
  2. Запустите созданное задание для выполнения резервного копирования журнала транзакций базы данных.


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


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