Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Одновременный COMMIT в SQLServer и AS / 7 сообщений из 7, страница 1 из 1
22.09.2004, 15:55
    #32706875
boogier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
Триггером собираются данные в таблице для инкрементального апдейта куба.
Выполняется ДТС пакет, в котором производится:
- подготовка данных для процессинга
- инкрементальный процессинг
- удаление обработанных данных

Как сделать одновременное подтверждение транзакции так, чтобы если данные успешно закачались в куб, то они и гарантированно удалились бы из таблицы, а если по какой-то причине нет возможности удалить обработанные строки (разрыв соединения или др.), то транзакция на AS тоже откатилась бы. Ведь если не удалить обработанные данные, то в следующий раз они закачаются повторно и будет всё плохо...
Или как по-другомы выйти из этой ситуации?
...
Рейтинг: 0 / 0
22.09.2004, 20:44
    #32707572
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
ИМХО данными средствами низя.
Разве что через DSO. После 3-го SP там есть транзакции на clsDataBase
...
Рейтинг: 0 / 0
22.09.2004, 21:11
    #32707585
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
В догонку еще вариант. Не парится с этими транзакциями, а просто иметь табличку из которй идет inc.update и перед подготовкой данных\процессом делать ей truncate (n-ое кол-во раз для надежности). Так не должно быть дубликатов.
...
Рейтинг: 0 / 0
22.09.2004, 23:43
    #32707661
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
А вы не пробовали установить Join transaction if present для Workflow Properties всех заданий? Вроде как именно для этого и предназначено.
...
Рейтинг: 0 / 0
23.09.2004, 10:56
    #32707989
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
... с другой стороны транзакции, особенно distributed, желательно иметь как можно короче.

Я делаю следующим образом:
1. Чищу временные таблицы в Data Warehouse
2. Закачиваю в них изменения из OLTP
3. Удаляю данные в OLTP, если дизайном там был предусмотрен буфер для дневных изменений (похоже это ваш случай)
4. Конвертирую/преобразовываю данные во временных таблицах
5. Заливаю из временных таблиц в DWH star schema
6. Обновляю OLAP (Incremental использует фильтр на fact по audit dimension)

Каждый шаг протоколиуется (Audit dimension в DWH; одна запись на весь процесс). Если что-то сбилось, то во временных таблицах есть все необходимое, чтобы разобраться что произошло и исправить.

В зависимость от ваших объемов, объединение 2 и 3 одной транзакцией может быть очень накладным и даже нежелательным (например блокировка на таблицу не позволит триггеру записать новые изменения, и триггер откатит транзакцию).
...
Рейтинг: 0 / 0
27.09.2004, 11:53
    #32712390
boogier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
Андрей НикифоровА вы не пробовали установить Join transaction if present для Workflow Properties всех заданий? Вроде как именно для этого и предназначено.

Код: plaintext
Task 'Процессинг' for Step 'DTSStep_DTSOlapProcess.Task_1' does not support joining distributed transactions or failed when attempting to join. Интерфейс не поддерживается
...
Рейтинг: 0 / 0
30.09.2004, 12:23
    #32718442
Road Runner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одновременный COMMIT в SQLServer и AS
Я такую задачу решал, подготавливая для инкрементального апдейта табличку в которую копировал те, записи, которые еще не добавлялись в кубю Последние данные из куба брал путем выполнения openquery с mdx запросом к кубу. Конкретно у меня время в таблице вактов монотонно возрастало, поэтому я брал по аремени, в других случаях, возможно, можно попробовать использовать автоинкрементное поле.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Одновременный COMMIT в SQLServer и AS / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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