Сообщение об ошибке

  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_display has a deprecated constructor в функции require_once() (строка 3066 в файле /home/users/m/matskywalker/domains/skywalkeradmin.ru/includes/bootstrap.inc).
  • Deprecated function: Methods with the same name as their class will not be constructors in a future version of PHP; views_many_to_one_helper has a deprecated constructor в функции require_once() (строка 113 в файле /home/users/m/matskywalker/domains/skywalkeradmin.ru/sites/all/modules/ctools/ctools.module).

Уменьшение базы Crystal SET Retail

Работает SET Retail на MSSQL. Кое-какие логи хранит в базе, именно их мы и будем удалять, для профилактики так сказать.


Создадим файл сценария с следующим текстом:

start_clean.cmd

"c:\Program Files\Microsoft SQL Server\80\Tools\Binn\osql.exe" -U sa -P mssql -d ses -i Kill_jobs.sql -o result.log

Расположение файла osql.exe соответствует версии MSSQL, укажите правильный путь.

Данная строка выполняет скрипт Kill_jobs.sql от пользователя SA с паролем mssql

Вот текст SQL запроса:
DELETE FROM [SES].[dbo].[JobsDataLog]
DELETE FROM [SES].[dbo].[JobsQueueLog]
DELETE FROM [SES].[dbo].[ErrorLog]
DELETE FROM [SES].[dbo].[ImportDataArchive]
DELETE FROM [SES].[dbo].[Transfercmd] 
DELETE FROM [SES].[dbo].[JobsData] WHERE JobId IN (SELECT Id FROM [SES].[dbo].[JobsQueue] WHERE Alive='0')
DELETE FROM [SES].[dbo].[JobsQueue] WHERE Alive='0'

Данный запрос удаляет все данные из таблиц с логами и отчищает очередь заданий. Физический размер файла БД не изменится, пока вы не выполните операцию SHRINK

Имеет смысл выполнять этот сценарий раз в сутки, это помешает БД разрастись.

ВАЖНО! не останавливайте выполнение сценария и не перезапускайте компьютер! Прерывание выполнения запроса приведет к сбою в работе БД!