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

Откуда: AB
Сообщений: 7374
Прикол такой. Пользуем тут одну платную CRM. В качестве бэкенда используется MSSQL 2008R2. Что эти горе программеры придумали. Не сделали ни одной блокировки, ни optimistic ни pessimistic. В результате данные - перетираются, если их редактировать одновременно. Доступа к коду нет. Может что на уровне сервера придумать? Начальство просит "принять меры". Я блин еще на клиппере многопользовательский режим делал. И вот SQL SERVER, 2015 год.....
10 ноя 15, 03:10    [18392858]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
SQL SERVER, 2015 еще не научили программировать за "горе программеров". Аминь.
10 ноя 15, 03:27    [18392865]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Пользуем тут одну
Guest
Relic Hunter,

optimistic/pessimistic типа с момента чтения всех связанных с текущей карточкой данных на них эксклюзив повесит что ли?
решение - вопрос логических, организационных, "бизнес"-блокировок, а не серверных.
и вопросов больше одного

автор
перетираются, если их редактировать одновременно

я открыл раньше всех и сижу час смотрю на карточку. это блокировка?
петров отредактировал и сохранил, сидоров открыл, поменял все обратно и сохранил - это кривые программисты?

ты ж смотрел что покупал (с) snatch
10 ноя 15, 09:00    [18393148]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31429
Relic Hunter,

Пусть горе-программеры правят свои ошибки.

Ну или будет вам наука - нужно либо разрабатывать систему самим, либо заказывать с получением исходников, либо покупать широко распространённую тиражную систему, по которой нормальные отзывы, и всегда можно найти специалистов.
10 ноя 15, 10:29    [18393520]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
В результате данные - перетираются, если их редактировать одновременно


Это совершенно штатная ситуация, т.е. сервер должен лишь предотвращать конфликты операций над данными в рамках своей математической модели (транзакции, в частности). Следить за бизнес-целостностью - обязанность приложения.
Т.е. сервер не должен препятствовать тому, что какой-то пользователь внес изменения раньше другого.
10 ноя 15, 11:45    [18393943]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Adx
Guest
Если очень нужно и используются хранимые процедуры, то можно блокировки сделать там.
У MSSQL Server есть возможность блокировок т.н. пользовательских ресурсов.
А что бы в сервере поставить галочку, и все начало блокироваться в соответствии с бизнес-логикой - это фантастика )
11 ноя 15, 12:41    [18399386]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Adx
Guest
alexeyvg
Пусть горе-программеры правят свои ошибки.

Ну или будет вам наука - нужно либо разрабатывать систему самим, либо заказывать с получением исходников, либо покупать широко распространённую тиражную систему, по которой нормальные отзывы, и всегда можно найти специалистов.


Вообще странно. Если система платная - должна быть поддержка. Бизнес логику должны править именно они. Или систему заказали, деньги заплатили и до свидания? А при сдаче системы - вообще ничего не заметили?
11 ноя 15, 12:46    [18399411]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Вменяемая система должна содержать систему контроля одновременного доступа.
Первый открыл - есть пометка о блокировке.
Второй открыл - документ готов к редактированию, но при условии, что на начало редактирования первый уже снял блокировку.
Иначе - предупреждение и перевод документа в ридонли.

У нас это элементарная таблица Тип_Д-та/Код_Д-та/Код_Пользователя
11 ноя 15, 14:45    [18400326]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
LSV,

а как вы решаете конфликты? Пользователи звонят друг другу "сними блокировку"?
11 ноя 15, 15:13    [18400560]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Владислав Колосов
LSV,

а как вы решаете конфликты? Пользователи звонят друг другу "сними блокировку"?
Ну изредка бывает, что чувак открыл важный документ и пошел курить (все работают в одном офисе).
Тогда я грохаю запись в табличке и его коннекцию. :)
12 ноя 15, 11:06    [18404746]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
Glory
Member

Откуда:
Сообщений: 104760
LSV
Ну изредка бывает, что чувак открыл важный документ и пошел курить (все работают в одном офисе).
Тогда я грохаю запись в табличке и его коннекцию. :)

А если вы в отпуске ?
12 ноя 15, 11:25    [18404862]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
msLex
Member

Откуда:
Сообщений: 8151
Glory
LSV
Ну изредка бывает, что чувак открыл важный документ и пошел курить (все работают в одном офисе).
Тогда я грохаю запись в табличке и его коннекцию. :)

А если вы в отпуске ?

Никто не курит :)
12 ноя 15, 11:45    [18405003]     Ответить | Цитировать Сообщить модератору
 Re: Блокировки  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Glory
LSV
Ну изредка бывает, что чувак открыл важный документ и пошел курить (все работают в одном офисе).
Тогда я грохаю запись в табличке и его коннекцию. :)

А если вы в отпуске ?
Ждут курильщика. :) Есть формочка со списком занятых документов. Можно сделать ХП для удаления строки + соотв. право. Т.е. проблема легко решаема.

Но за 9 лет пока ни разу с блокировками не было особых проблем. :)
12 ноя 15, 12:19    [18405331]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить