powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / закрытая часть клиента
7 сообщений из 7, страница 1 из 1
закрытая часть клиента
    #40023525
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!
Есть покупная, старая MES система, есть джобы, процедуры и скрипты, которые можно менять и дорабаватывать, и есть сам толстый клиент, который изменить нельзя. Некоторые запросы там сделаны не хранимками, а запросами. Т.е. при открытии формы клиент выполняет запрос аля -
Код: sql
1.
Select * from dbo.Table1 ord where ... 


изменить клиент в этой части нельзя, но сильно хотелось бы, чтобы запрос выглядел вот так.

Код: sql
1.
Select * from dbo.Table1 ord (nolock) where ... 



Есть способ это сделать без доступа к тексту запроса?
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40023526
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_viktorovich,

вьюху сделать dbo.Table1
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40023527
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть способ это сделать без доступа к тексту запроса?
Дизассемблером. Хотя можно даже без него. Sql в бинарнике иногда лежит в открытом виде в отдельной секции как правило где-то в конце файла со всеми статичными данными. Открываешь hex редактор, дописываешь nolock так, чтобы ничего другого сдвинуть, т.е. в тексте этого же запроса надо нарыть 6 ненужных пробелов, от которых можно избавиться. Главное, чтобы всё осталось на своих местах, по своим адресам иначе приложение развалится.
Такое прокатывает с говнокодом типа
Код: sql
1.
2.
sql = 'select * from my_cool_table where x = y and i = na';
resultset = database.query(sql);
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40023529
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court,
На самом деле запрос сложнее, там несколько таблиц и пара колонок в виде подзапросов. Так подумать, меня бы устроила смена уровня изоляции на snapshot в большей части случаев, но как подсунуть с каждую коннекцию set transaction isolation level snapshot, непонятно.
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40023531
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать обойтись только read_committed_snapshot, snapshot излишен для таких запросов, я думаю.
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40023591
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_viktorovich,

можно воспользоваться руководством планов, чтобы добавить хинт в запрос.
...
Рейтинг: 0 / 0
закрытая часть клиента
    #40024294
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов,

В некоторых случаях да, подойдет. Кроме наверное тех, где запросы не параметризованы (просто конкатенацией where id in(2345,4567, ... ) )
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / закрытая часть клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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