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

Есть ли в MSSQL возможность хукнуть SQL запрос перед выполнением? Имеется в виду следующее. Я посылаю "blahblah" как команду, а сервер, перед тем как отдавать ее парсеру, вызывает мой хук, которые меняет ее например на какой-нибудь обычный "SELECT", который успешно выполняется.

Вроде бы в Postgre да и в Oracle таки штуки возможны. Особенно в Postgre.

Искал в MSSQL (смотрел системные ф-ии, CLR, SMO, events, что то еще) но не нашел. Events позволяют узнать, какая команда исполняется, но повлиять на ее исполнение возможности, нет.

Может есть какой режим отладки? или спец версия, типа "special developer egition"? Или исходники есть? ;)
18 фев 14, 10:35    [15580727]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли хукнуть команду?  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://support.microsoft.com/kb/920925
18 фев 14, 10:53    [15580818]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли хукнуть команду?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Мимо пробегал...
Еще хочется странного.

Есть ли в MSSQL возможность хукнуть SQL запрос перед выполнением? Имеется в виду следующее. Я посылаю "blahblah" как команду, а сервер, перед тем как отдавать ее парсеру, вызывает мой хук, которые меняет ее например на какой-нибудь обычный "SELECT", который успешно выполняется.

Вроде бы в Postgre да и в Oracle таки штуки возможны. Особенно в Postgre.

Искал в MSSQL (смотрел системные ф-ии, CLR, SMO, events, что то еще) но не нашел. Events позволяют узнать, какая команда исполняется, но повлиять на ее исполнение возможности, нет.

Может есть какой режим отладки? или спец версия, типа "special developer egition"? Или исходники есть? ;)


оформляйте все в виде процедур и "хукайте" процедуры
18 фев 14, 11:20    [15580997]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли хукнуть команду?  [new]
Мимо пробегал...
Guest
Glory
http://support.microsoft.com/kb/920925
По ссылке уже не хук описывается, а чистый хак какой-то. Я то имел в виду наличие законных (хотя может быть и не задокументированных) хенделров, hook'ов в родном коде. Что то типа такого http://www.postgresql.org/docs/8.3/static/plhandler.html.

По вашей ссылке микрософтовцы много причин написали, почему это опасно, но, по факту, за всё это должен отвечать разработчик, который это хочет использовать. А MS ему тупо говорит "низззя".

Winnipuh
оформляйте все в виде процедур и "хукайте" процедуры
А расскажите, как? Только что бы на входе не "EXEC blahblah...", а просто "blahblah...".
18 фев 14, 13:54    [15582289]     Ответить | Цитировать Сообщить модератору
 Re: Можно ли хукнуть команду?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Мимо пробегал...
По вашей ссылке микрософтовцы много причин написали, почему это опасно, но, по факту, за всё это должен отвечать разработчик, который это хочет использовать. А MS ему тупо говорит "низззя".

Там прежде всего написано "Microsoft does not provide support services for third-party features that use detours or similar techniques to change behavior of SQL Server."
18 фев 14, 13:57    [15582320]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить