Odin | База знаний 1С

Как очистить данные...
 

Как очистить данные регистра сведений в MSSQL за период?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

как через mssql очистить данные регистра сведений Версии Объектов за определенный период?



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для очистки данных регистра сведений "Версии Объектов" в MS SQL Server за определенный период, вам нужно выполнить SQL-запрос, который удалит записи из соответствующей таблицы. Обычно таблица регистра сведений имеет имя, начинающееся с `_InfoReg`, и в ней есть поле, содержащее дату, по которой вы будете фильтровать записи.

Примерный SQL-запрос может выглядеть следующим образом:

sql
USE [ИмяВашейБазыДанных]
GO

DELETE FROM [_InfoReg_VersiiObyektov] 
WHERE [Дата] < '2023-01-01'; -- Замените на нужную вам дату

Обратите внимание, что:
1. Замените `[_InfoReg_VersiiObyektov]` на фактическое имя таблицы вашего регистра сведений.
2. Замените `[Дата]` на фактическое имя поля с датой в вашей таблице.
3. Убедитесь, что у вас есть резервная копия базы данных перед выполнением удаления, так как это действие необратимо.

Если у вас много записей, и вы хотите избежать блокировок, вы можете удалять записи порциями, например, по 5000 записей за раз:

sql
USE [ИмяВашейБазыДанных]
GO

WHILE 1=1
BEGIN
    DELETE TOP (5000) FROM [_InfoReg_VersiiObyektov] 
    WHERE [Дата] < '2023-01-01'; -- Замените на нужную вам дату

    IF @@ROWCOUNT < 1 BREAK;
END

Этот подход поможет вам избежать проблем с блокировками и переполнением журнала транзакций.



   
ОтветитьЦитата