powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Последовательность выполнения в jobs?
10 сообщений из 10, страница 1 из 1
Последовательность выполнения в jobs?
    #39983108
Михайло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Помогите, пожалуйста, разобраться.
Есть задача, скидывать старые данные с таблицы А, по расписанию, в архивную таблицу В. Создал простой Job, где сначала копируются данные с таблицы А в таблицу В, а затем идет скрипт удаляющий скопированные данные в таблице А.
Вопрос в том, как я могу быть уверен, что данные действительно скопировались?
А то, вдруг, сработает второй скрипт на удаление без копирования, тогда данные потеряются.
Тем более копируемых данных много, несколько миллионов.
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983109
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло,

Обработка ошибок. Транзакции.
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983122
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло,

SET XACT_ABORT ON

И либо делать в одной транзакции, либо переход между шагами делать только при успешном завершении.
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983176
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло
Вопрос в том, как я могу быть уверен, что данные действительно скопировались?
всё сделать в одном запросе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create table A (id int)
create table B (id int)
--
insert into A values (1),(2),(3);

insert into B
	(id)
select 
	t.id
from
	(delete from A output deleted.id) t
--
select * from A 
select * from B
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983189
Михайло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ваши варианты. Надо попробовать.

вообще, если первый запрос на внесение данных отрабатывает минут 10,
действительно ли вторая строчка с удалением будет ждать 10 минут и запуститься после полной отработки первого запроса?
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983266
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло,

Чем гадать, приведите свои скрипты создания jobs.
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983430
old_joy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перед тем как переписывать, фиксируйте ключ первой и последней записи в таблице А.
Копируйте ключевое поле обязательно из таблицы А в таблицу В. По ключу и проверяйте, что все переписалось.
Затем по ключу удаляйте записи из таблицы А.
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983441
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло
Добрый день!
Помогите, пожалуйста, разобраться.
Есть задача, скидывать старые данные с таблицы А, по расписанию, в архивную таблицу В. Создал простой Job, где сначала копируются данные с таблицы А в таблицу В, а затем идет скрипт удаляющий скопированные данные в таблице А.
Вопрос в том, как я могу быть уверен, что данные действительно скопировались?
А то, вдруг, сработает второй скрипт на удаление без копирования, тогда данные потеряются.
Тем более копируемых данных много, несколько миллионов.

в таких случаях лучше делать секционирование и по времени будет милисекунды
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983456
NORT96
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot,
delete from A t1
where exists (select * from B t2 where t1._ = t2._)
...
Рейтинг: 0 / 0
Последовательность выполнения в jobs?
    #39983570
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михайло,

Для вас важно, чтобы данные всегда находились только в одной таблице? Или просто важно, чтобы они не задвоились?

Если последнее, то копируйте данные в буфер на 2 сервере и делайте MERGE. То есть проверяется, есть ли во вставляемой таблице уже эти строки.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Последовательность выполнения в jobs?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]