Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Одновременное проведение 2-х док.  [new]
Андрей390
Member

Откуда:
Сообщений: 5
Добрый день! В SQL небольшой специалист, но гуглил долго.

Есть УТП для Украины, стандартная конфа, SQL 7, сервер, 1с 8.1. Размер базы 44 гб. Открываю две копии программы, провожу документ отдельно в каждой копии, то в одно, то в другой (несколько раз, они кешируются и потом проводятся мгновенно)- документы проводится секунд за 5. Нажимаю одновременно ОК (+/- пару сек) в двух программах - гарантированный:
Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "Конфликт блокировок при выполнении транзакции: Microsoft OLE DB Provider for SQL Transaction (Proces ID 52) was deadlocked on lock resourses with another process and has been chosen as the deadlock victim. Return the transaction.

Я понимаю что один сеанс становится жертвой взаимоблокировки, но как этого избежать, у других же работает?
16 авг 12, 10:03    [13018784]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Андрей390
стандартная конфа, SQL 7
Ну нифига себе старьё 90х гг. Что-то не верится. И это стандартно?
Андрей390
1с 8.1
Все вопросы к ним лично.
16 авг 12, 12:01    [13019471]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
как вариант
Guest
Андрей390,

есть предположение что где-то отсутствует индекс по какому-то важному полю.

размер базы приличный, указаны наблюдения про кеширование и сильно разное время проведения
16 авг 12, 12:21    [13019594]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
Андрей390
Member

Откуда:
Сообщений: 5
А можно перестроить все индексы одной коммандой, я видел что под SQL пишется для каждой таблицы своя комманда, а так чтобы стандартно для 1с все перестроить? Вариант с Ремонтом и восстановлением не предлагать, только сегодня ночью сделал выгрузить загрузить средствами Конфигуратора 1с
16 авг 12, 14:37    [13020768]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
Андрей390
Member

Откуда:
Сообщений: 5
Помогите, пожалуйста.
16 авг 12, 19:10    [13022777]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
Андрей390
Member

Откуда:
Сообщений: 5
Ситуация такая, на экране есть две копии одно программы, под разными пользователями (все это делается на сервере, сеть ни причем) последовательно провожу то в одной, то в другой базе один и тот же документ (для каждой базы свой конечно). По одному проводятся 5-8 сек. Как только нажимаю одновременно ОК (разница 1-2 сек) то одна из баз попадает под взаимоблокировку и вываливается с ошибкой. Ну не верю я что во времена 8.1 и SQL 7 не проводились одновременно в одной базе несколько документов,
семерка и та умеет красиво ждать время транзакци. А тут время не влияет. Можно хоть 30 сек поставить, вторая база вывалится с ошибкой через 15 сек.

как вариант
Андрей390,

есть предположение что где-то отсутствует индекс по какому-то важному полю.

размер базы приличный, указаны наблюдения про кеширование и сильно разное время проведения
16 авг 12, 19:17    [13022797]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
Андрей390,

Блокировки SQL Server 7.0 - теория и практика устранения проблем
16 авг 12, 19:49    [13022900]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
Андрей390
Member

Откуда:
Сообщений: 5
Это слишком заумно для меня. Ну не верю я в то, что одновременное проведение документов гарантированно приводит к ошибке взаимоблокировок. По отдельности документ проводится 5 сек, а запустить их вместе - один их двух экземпляров вываливается с ошибкой. Ну что, он не может спокойно подождать 5-10-15 сек в очереди и потом спокойно провестись? Ну зачем эти ошибки?
18 авг 12, 13:16    [13030533]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
step_ks
Member

Откуда:
Сообщений: 936
Андрей390
Ну что, он не может спокойно подождать 5-10-15 сек в очереди и потом спокойно провестись?
не может, потому что никогда не дождется.
18 авг 12, 14:05    [13030622]     Ответить | Цитировать Сообщить модератору
 Re: Одновременное проведение 2-х док.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31965
Андрей390
Ну что, он не может спокойно подождать 5-10-15 сек в очереди и потом спокойно провестись?
В случае блокировок именно так и происходит.
Андрей390
Ну зачем эти ошибки?
Потому что у вас не блокировки, а дедлок, он принципиально никогда не закончится.

О таких ошибках нужно писать разработчикам (или спрашивать на форуме по 1С), на стороне сиквела их не разрешить.
18 авг 12, 19:16    [13031225]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить