Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
23.07.2020, 14:10
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Добрый день! Помогите, пожалуйста, разобраться. Есть задача, скидывать старые данные с таблицы А, по расписанию, в архивную таблицу В. Создал простой Job, где сначала копируются данные с таблицы А в таблицу В, а затем идет скрипт удаляющий скопированные данные в таблице А. Вопрос в том, как я могу быть уверен, что данные действительно скопировались? А то, вдруг, сработает второй скрипт на удаление без копирования, тогда данные потеряются. Тем более копируемых данных много, несколько миллионов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.07.2020, 14:11
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло, Обработка ошибок. Транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.07.2020, 14:44
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло, SET XACT_ABORT ON И либо делать в одной транзакции, либо переход между шагами делать только при успешном завершении. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.07.2020, 15:33
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло Вопрос в том, как я могу быть уверен, что данные действительно скопировались? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.07.2020, 15:44
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Спасибо за ваши варианты. Надо попробовать. вообще, если первый запрос на внесение данных отрабатывает минут 10, действительно ли вторая строчка с удалением будет ждать 10 минут и запуститься после полной отработки первого запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.07.2020, 17:49
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло, Чем гадать, приведите свои скрипты создания jobs. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.07.2020, 06:44
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Перед тем как переписывать, фиксируйте ключ первой и последней записи в таблице А. Копируйте ключевое поле обязательно из таблицы А в таблицу В. По ключу и проверяйте, что все переписалось. Затем по ключу удаляйте записи из таблицы А. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.07.2020, 08:17
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло Добрый день! Помогите, пожалуйста, разобраться. Есть задача, скидывать старые данные с таблицы А, по расписанию, в архивную таблицу В. Создал простой Job, где сначала копируются данные с таблицы А в таблицу В, а затем идет скрипт удаляющий скопированные данные в таблице А. Вопрос в том, как я могу быть уверен, что данные действительно скопировались? А то, вдруг, сработает второй скрипт на удаление без копирования, тогда данные потеряются. Тем более копируемых данных много, несколько миллионов. в таких случаях лучше делать секционирование и по времени будет милисекунды ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.07.2020, 09:11
|
|||
---|---|---|---|
|
|||
Последовательность выполнения в jobs? |
|||
#18+
HandKot, delete from A t1 where exists (select * from B t2 where t1._ = t2._) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.07.2020, 12:17
|
|||
---|---|---|---|
Последовательность выполнения в jobs? |
|||
#18+
Михайло, Для вас важно, чтобы данные всегда находились только в одной таблице? Или просто важно, чтобы они не задвоились? Если последнее, то копируйте данные в буфер на 2 сервере и делайте MERGE. То есть проверяется, есть ли во вставляемой таблице уже эти строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1685843]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 300ms |
total: | 562ms |
0 / 0 |