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

Откуда: Prague
Сообщений: 108
Коллеги, может кто сталкивался...

Из сотен клиентов наблюдал второй случай необъяснимого поведения ХП.

Есть ХП - на вход varchar, по которому фильтруется запрос в ХП. (3 запроса с union all - во всех 3 этот фильтр)

В какой-то момент, в конкретной БД перестает работать этот фильтр по строке -
как будто одно из условий равенства в where перестает работать - вместо 1-3 строк выдается несколько десятков строк однозначно противоречащих фильтру.

Первый случай лично наблюдал через teamviewer полгода назад - такое ощущение, что кто-то сломал оператор равенства строк на сервере или в БД - (collation самой бд - правильный). Запрос с фильтром вырезанный из хп - работал неправильно. Пока в шоке ходил думать - клиенты перезагрузили скл-сервер и проблема пропала и за полгода не повторилась.

Второй случай возник недавно - симптомы те же самые - хп не фильтрует по входному параметру.
Перезагрузить сервер - проблематично, тем более хочется разобраться в причинах.

Процедуры зашифрованы, клиенты гарантировано не имеют исходных кодов процедуры.


Приветствуются любые идеи, куда смотреть копать. Точные версии скл сказать не могу, но в одном случае 2005, в другом 2005 или 2008.

Пока у меня только одна идея - предложить ставить все сервиспаки/фикспаки.
6 сен 11, 21:30    [11237749]     Ответить | Цитировать Сообщить модератору
 Re: неверное сравнение строк  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31961
devuser
Приветствуются любые идеи, куда смотреть копать. Точные версии скл сказать не могу, но в одном случае 2005, в другом 2005 или 2008.
Не слышал про такое...

В первую очередь нужно посмотреть на код ХП. Мало-ли, что там...

Тем более, судя по всему, там динамический SQL. Думаю, просто кривой код.
devuser
Точные версии скл сказать не могу, но в одном случае 2005, в другом 2005 или 2008.
Процедуры зашифрованы, клиенты гарантировано не имеют исходных кодов процедуры.
Странная ситуация - сами не поддерживаете, клиентам запрещаете :-)

Странно, что может быть хоть один клиент, согласный на такие условия...

А вообще я бы на их месте расшифровал, тем более это занимает пару минут (на поиск расшифровщика).
devuser
Пока у меня только одна идея - предложить ставить все сервиспаки/фикспаки.
Это конечно.
6 сен 11, 21:42    [11237787]     Ответить | Цитировать Сообщить модератору
 Re: неверное сравнение строк  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
devuser
Пока у меня только одна идея - предложить ставить все сервиспаки/фикспаки.
Вот это здраво.

Насчет остального - лучше искать все-таки баг в своем коде, чем грешить на сервер, бо то поведение, что вы описываете, совсем уж фантастическое.
6 сен 11, 22:13    [11237921]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить