Имя: Пароль:
1C
1С v8
Быстрое удаление документов
0 drcrasher
 
01.08.17
10:17
Дано: SQL база 300gb. Нужно относительно быстро удалить все документы и движения по регистрам (в т.ч. независимые).
Перенос справочников в чистую базу через xml (как самое очевидное решение) - больше суток, что слишком долго.
Какие есть способы решения вопроса?
1 Волшебник
 
модератор
01.08.17
10:18
TRUNCATE TABLE
2 drcrasher
 
01.08.17
10:20
(1) по каждой таблице документа/табчасти/регистров? или есть умный скрипт, которому можно как-то таблицы по маске скормить?

а вариант загрузить конфу без "лишних" метаданных не прокатит?
3 МихаилМ
 
01.08.17
10:26
(2) есть. есть в тскл процедура sp_MSforeachtable
4 МихаилМ
 
01.08.17
10:30
+(3)
я бы сделал наоборот : не удалял из копии а копировал нужные таблицы.из smss генерируется скрипт создания базы,
с помощью (3) копируются таблицы.
5 drcrasher
 
01.08.17
10:38
(4) а есть что подробнее почитать?
6 МихаилМ
 
01.08.17
10:42
(0)
извините в (3) дал плохой совет

тк забыл что в базе используются поля с типом timestamp
7 Cyberhawk
 
01.08.17
10:44
Через ИР скрипт сгенерить
8 Cyberhawk
 
01.08.17
10:44
Быстрее всего, думаю, будет
9 МихаилМ
 
01.08.17
10:48
черд. в (3) хороший, а  (4) плохой

(4) мс скл используется по всему миру примеров работы с  sp_MSforeachtable найдёте тысячи в поисковых сервисах интернет
10 drcrasher
 
01.08.17
10:51
(7) это как? (если что, то управляемое приложение)
11 ptiz
 
01.08.17
10:52
(0) "быстро удалить все документы и движения по регистрам"
фигню получите, боюсь, что даже в базу не войдете.
Но правильный ответ - в (1)
12 drcrasher
 
01.08.17
10:58
(11) мне нужно грохнуть доки и регистры, потом буду загружать оригинальную конфу для восстановления таблиц
13 Мимохожий Однако
 
01.08.17
11:01
(0) Это не долго
14 drcrasher
 
01.08.17
11:11
(13) ты про больше двух суток на выгрузку/загрузку?
15 Cyberhawk
 
01.08.17
11:12
16 ptiz
 
01.08.17
11:21
И не забыть еще журналы почистить.
17 4St
 
01.08.17
12:56
Творческий подход: сохранить конфу в файл, грохнуть все документы с регистрами в конфигураторе,  F7, загрузить конфу обратно, F7.
Если не получилось, вспомнить про бэкап)
18 drcrasher
 
01.08.17
13:38
(17) вот его и пробую. токмо не в конфигураторе, а через выгрузить в файлы/загрузить из файлов
19 Demasiado
 
01.08.17
15:02
Решали недавно похожую задачу. База 150 гигов, бухня 3.0, 50 юрлиц. Надо получить 8 конкретных юрлиц, каждые в своей базе.
Учет велся в базе 3 года, всего доков - 800 тыс.

Работа выполнялась 6 суток + 2 суток на "дочистку" баз
20 Demasiado
 
01.08.17
15:04
5 часов было убито только на аудит и выбор стратегии, как "пилить"
21 drcrasher
 
01.08.17
15:12
(19)(20) xml или топором рубили?
22 volfy
 
01.08.17
15:16
Всё не могу понять куда люди торопятся выжать 1-2 часа в таких ситуациях? ... ну пусти пользователей работать... чисти потихоньку, а если мощностей не хватает то это уже другой вопрос)
23 volfy
 
01.08.17
15:16
Поставил чиститься - пошел гулять, деньги капают, здоровье поправляется)
24 Cyberhawk
 
01.08.17
15:17
(23) Ник в честь собаки из Терминатора 2?
25 Demasiado
 
01.08.17
15:18
В основном консоль запросов с возможностью выполнения кода, у нас был очень хороший сервер. На плохом не успели бы в срок
26 Demasiado
 
01.08.17
15:23
(25) + пришлось писать обработину для очистки некоторых рег сведов
27 volfy
 
01.08.17
16:04
(24) Угу)
28 Cyberhawk
 
01.08.17
16:10
(27) Тока там Wolfy