Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Trebuetsya sovet: Lookup? Help Table? ???  [new]
alexl
Member

Откуда:
Сообщений: 178
Privet vsem.
Imeetsya dva processa kotorie idut parallel'no drug drugu:
1. Bulk XML - delaet bulk v promejutochnuyu db (kolichestvo dannich ne ogranicheno. )
2. Pererabotka etich dannich i insert relevantnich dannich v rabochuyu db.

V promejutochnoy db imeyutsya 5 tables, v kotorie proizvoditsya Bulk XML i v kotorich proischodit pererabotka informazii.

Ogranicheniya:
1. Bulk XML ne mojet pisat' v table v kotoroy v natoyacshiy moment idet pererabotka dannich i naoborot.
2. Neskol'ko Bulk XML mogut pisat' v odnu table (v techenii 2 min) -? LOCK TABLE ne podchodit.


Imeetsya v nastoyaschee vremya vspomogatel'naya tabliza. Bulk XML prejde chem nachat' zapis' proveryaet chto tabliza svobodna (ne zanyata obrabotkoy). I naoborot. Proverka po vspomogatel'noy tablize. (Nachal Rabotat' - set start = 1, zakonchil - set start = 0).

Problema v tom, chto inogda bivayut sboi (restart SQL SERVER?, padenie sp? ...)
i vspomogatel'naya tabliza ne obnovlaetsa (set start = 0).

Mojet u kogo-nibud' est' bolee krasivaya ideya? Chto posovetuete?
30 ноя 04, 13:46    [1146819]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
alexl
Member

Откуда:
Сообщений: 178
???
30 ноя 04, 14:01    [1146901]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Сама по себе технология не сильно фонтан. Зачем сделали зависимость закачки от обработки? ИМХО закачка - сама по себе, обработка - сама по себе.
А насчет блокировок - можно посмотреть в сторону sp_getapplock. Скажем, делать сессионные блокировки. По крайней мере от рестартов точно будешь защищен.
30 ноя 04, 14:11    [1146954]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
alexl
Member

Откуда:
Сообщений: 178
Est' idei kak realizovat' eto drugim sposobom?
30 ноя 04, 14:25    [1147018]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2423
Насколько я понимаю, это задача создания "семафора", которая здесь на форуме неоднократно обсуждалась.
Из подходящих решений вспоминается использование продолжительности жизни временных (возможно глобальных) таблиц, чье существование/несуществование и является семафором.
30 ноя 04, 14:58    [1147217]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
alexl
Member

Откуда:
Сообщений: 178
Pro semafori pochital na forume. Tam svoi problemi est'. kakie esche budut idei???
30 ноя 04, 15:23    [1147365]     Ответить | Цитировать Сообщить модератору
 Re: Trebuetsya sovet: Lookup? Help Table? ???  [new]
LR
Member

Откуда: 8P8C
Сообщений: 2423
Pro semafori pochital na forume. Tam svoi problemi est'.
Интересно знать какие же это проблемы?

kakie esche budut idei???
Можно еще использовать Session Context Information
Первый процесс
while exists(select * from master..sysprocesses where convert(varchar(128),context_info) like '%Pererabotka%')
 waitfor delay '00:00:01'

declare @x varbinary(128)
set @x=cast('Bulk XML...' as varbinary(128))
set context_info @x
...
set context_info 0x0
Второй процесс
while exists(select * from master..sysprocesses where convert(varchar(128),context_info) like '%Bulk XML%')
 waitfor delay '00:00:01'

declare @x varbinary(128)
set @x=cast('Pererabotka...' as varbinary(128))
set context_info @x
...
set context_info 0x0
1 дек 04, 12:47    [1149442]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить