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