База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как очистить данные регистра сведений в MSSQL за период? › RE: Как очистить данные регистра сведений в MSSQL за период?
Для очистки данных регистра сведений “Версии Объектов” в MS SQL Server за определенный период, вам нужно выполнить SQL-запрос, который удалит записи из соответствующей таблицы. Обычно таблица регистра сведений имеет имя, начинающееся с _InfoReg
, и в ней есть поле, содержащее дату, по которой вы будете фильтровать записи.
Примерный SQL-запрос может выглядеть следующим образом:
1 2 3 4 5 6 | sql USE [ИмяВашейБазыДанных] GO DELETE FROM [_InfoReg_VersiiObyektov] WHERE [Дата] < '2023-01-01'; -- Замените на нужную вам дату |
Обратите внимание, что:
1. Замените [_InfoReg_VersiiObyektov]
на фактическое имя таблицы вашего регистра сведений.
2. Замените [Дата]
на фактическое имя поля с датой в вашей таблице.
3. Убедитесь, что у вас есть резервная копия базы данных перед выполнением удаления, так как это действие необратимо.
Если у вас много записей, и вы хотите избежать блокировок, вы можете удалять записи порциями, например, по 5000 записей за раз:
1 2 3 4 5 6 7 8 9 10 11 | sql USE [ИмяВашейБазыДанных] GO WHILE 1=1 BEGIN DELETE TOP (5000) FROM [_InfoReg_VersiiObyektov] WHERE [Дата] < '2023-01-01'; -- Замените на нужную вам дату IF @@ROWCOUNT < 1 BREAK; END |
Этот подход поможет вам избежать проблем с блокировками и переполнением журнала транзакций.