Тестирование автоматической очистки МБД¶
Как это проверять.
- Создаем новую МБД
- в таблице PARAMETERS должна быть запись
|id |Type|Name|Value|ModifyDate|
|1 |0| MdbClean.Interval| 168| 2015-04-27 12:39:57.980|
- в таблице BackgroundTaskHistory должна быть запись
|ProcName |LastExec |Result|
|MdbClean |2015-04-25 03:00:00.000| NULL|
Дата должна быть датой предыдущей субботы, 3 часа ночи.
- выполнить запрос к БД master
USE master; SELECT name,create_date,modify_date FROM sys.procedures WHERE OBJECTPROPERTY(OBJECT_ID, 'ExecIsStartup') = 1
- в списке должна быть запись
|name |create_date |modify_date|
|BootstrapBackgroundTask |2015-04-27 12:39:58.093| 2015-04-27 12:39:58.117|
- используя SQL или среду, удалите запись из BackgroundTaskHistory запись о запуске MdbClean.
- Перезапустите SQL сервер
- подождите более 5 минут.
- выполните запрос к МБД
SELECT * from [BackgroundTaskHistory]
В результате должна быть запись о procname=mdbclean с Result=(либо 0, либо кодом ошибки)
Чтобы посмотреть лог сервера выполняется скрипт
USE MASTER
GO
EXEC XP_READERRORLOG
GO
в результатах можно найти
USERPROC BootstrapBackgroundTask: DELAY
USERPROC BootstrapBackgroundTask: START BKG TASK
USERPROC DoBackgroundTask: START LOOP
BEGIN TRY EXEC [МБД].[dbo].[MdbBackgroundTask] END TRY BEGIN CATCH print ERROR_MESSAGE() END CATCH
МБД.MdbBackgroundTask started
Start RunBackgroundTask MdbClean
RunBackgroundTask: МБД.MdbClean
Delete lost attrib links...
DELETE FROM PH...
DELETE FROM ATTRIB_VALS...
DELETE FROM CAT_JNGL_BTNS...
DELETE FROM PLIST_ELEMS...
DELETE FROM PLIST_ELEMS...
DELETE FROM PLIST_BLOCKS...
DELETE FROM MODIFY_DATES...
DELETE FROM SCH_FILES...
Delete old DDB blocks info...
Delete playback history older than 100 days...
Delete plan history older than 100 days...
Delete old mag schedule orders
Truncating transaction log file for current database...
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Finish RunBackgroundTask MdbClean
МБД.MdbBackgroundTask complete