Вход | Регистрация



Вечная тема - Свертка Базы

Вечная тема - Свертка Базы
Я
   KAUTERPER
 
21.06.18 - 16:55
Так уж случилось, что до этого базы не сворачивал.
Сейчас потребовалось свернуть базу по УПП до 2016 года. Данных немало.
Запустил типовую обработку от 1С СверткаБазы. Ну третий день чтото происходит)

Может есть какой то более проверенный хороший способ? Обработок много, больше половины платные.
Какой наилучший способ правильно сворачивать базы посоветуете?
 
 
   X Leshiy
 
1 - 21.06.18 - 16:57
(0) >>Какой наилучший способ правильно сворачивать базы посоветуете?

Не сворачивать.
   KAUTERPER
 
2 - 21.06.18 - 16:57
(1) Отлично! Но в данном случае нужно свернуть таки.
   ptiz
 
3 - 21.06.18 - 16:58
(0) "наилучший способ " - понять, чего вы хотите.
Уменьшить объем и увеличить скорость работы?
Может дешевле железо нарастить?
Если нет - анализируйте базу, смотрите размеры таблиц, делайте выводы.
   lodger
 
4 - 21.06.18 - 16:58
(0) попробовать комп помощнее, ссд, файловую базу, наоборот скл.
можно свой велосипед сделать, можно скачать свой велосипед и пилить его, можно купить готовый велосипед.
   X Leshiy
 
5 - 21.06.18 - 16:59
(2) Кто решил что нужно и чем обосновал?
   KAUTERPER
 
6 - 21.06.18 - 17:00
(4) Вот я и спрашиваю может есть какое то проверенное решение. Ведь базы сворачивают и неужели все пилят велосипеды под каждую свертку.
   mehfk
 
7 - 21.06.18 - 17:01
(0) Какая цель свертки?
   KAUTERPER
 
8 - 21.06.18 - 17:01
(3) Вопросы хорошие ,но все в стороны алтернативного решения.
А мне нужно реально свернуть базу.
   lodger
 
9 - 21.06.18 - 17:04
(6) проверенное поколениями - типовая свертка.
   ptiz
 
10 - 21.06.18 - 17:08
(8) Свертка одного регистра - тоже свертка. Чего хотите-то?
 
 Рекламное место пустует
   shuhard
 
11 - 21.06.18 - 17:09
(8)[А мне нужно реально свернуть базу.]
реально свернуть шею
   DrShad
 
12 - 21.06.18 - 17:09
(9) типовая-то типовая, но есть моменты
очень времени уходит на постоянный расчет итогов, поэтому надо сдвинуть границу итогов на дату свертки
   Aleksandr N
 
13 - 21.06.18 - 17:58
(0) Сформировать документы ввода остатков и перекинуть их в пустую базу.
   Фрэнки
 
14 - 21.06.18 - 18:10
(8) но зачем? рецепты свертки есть. Но нужно знать цель свертки и состояние учета, чтоб не советовать явный бред.

Организаций в этой базе сильно много? Может возсможно просто начать работать в "чистой" организации "с чистого листа", а собственно базу нет смысла мучить?
   KAUTERPER
 
15 - 21.06.18 - 19:36
(14) Организация одна.
По сути цель такая - удалить все документы за 2016 год.
   Tankur
 
16 - 21.06.18 - 19:48
(0) Типовых упп не бывает почти.
Нужно каждый раз на месте смотреть.
   nicxxx
 
17 - 21.06.18 - 19:50
прорвало вас что ли... Свертка базы бухгалтерии 3.0
   Куникулус
 
18 - 21.06.18 - 19:54
(0) Как насчет сверки  по периодам за год, квартал, месяц - срабатывает?

Отключить пересчет итогов для свертки.

Возможно компьютер где сворачивает мощный но многоядерный, попробовать не на сервере, а обычном компе поновее, где более высока производительность на один процесс, +SSD, рамдиск если возможности позволяют.

Висит именно свертка или удаление помеченных?
   runoff_runoff
 
19 - 21.06.18 - 19:55
вот пример свертки УТ 10.3 прямыми запросами к MS SQL через ADO
https://www.dropbox.com/s/y72l41kcl9lkm3v/СверткаБазыУТ10_SQL.epf?dl=0
   nicxxx
 
20 - 21.06.18 - 20:33
(19) С таким подходом ты легко можешь получить ошибку "transaction log is full" и накроется твоя свертка медным тазом. Я во про это:
    ТекстЗапроса_DELETE_RG = "
        |DELETE
        |FROM
        |    #ИмяТаблицы#
        |FROM
        |    #ИмяТаблицы# as T
        |INNER JOIN
        |    #ИмяОсновнойТаблицы# as DT ON T._RecorderRRef = DT._IDRRef
        |    AND DT._Date_Time <= '" + ПолучитьДатуОкончания() + "'";
   nicxxx
 
21 - 21.06.18 - 20:36
Лучше было бы разделить один большой DELETE на пакеты. Примерно так
DECLARE @cnt int
SET @cnt = 1
 
  
WHILE @cnt > 0
BEGIN
 
Print Current_timestamp
 
SELECT TOP 10000 [Counter]
INTO #tt2
FROM     [base].[dbo].[table]
WHERE [ReceiveTime] < '2018-03-01'
;
 
DELETE FROM [base].[dbo].[table]    
WHERE [Counter]  IN (
        Select    [Counter]
        from    #tt2)        

 ;
 DROP TABLE #tt2

;
SET @cnt = @@ROWCOUNT
;
--WAITFOR DELAY '00:00:01'
Print Current_timestamp
 
END
   runoff_runoff
 
22 - 21.06.18 - 20:41
(21) мы отключали транзакш лог на период свертки


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует