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

Откуда: Москва
Сообщений: 136
Есть средства в MS SQL Server 2014, которые позволяют автоматически очень тяжелые запросы, которые построены совсем не оптимально (например куча distinct'ов, вложеных запросов и т.д.) отсеивать (не выполнять или отправлять в тайм-аут). Причем только от отдельных пользователей, чтобы не рубились запросы служебного пользователя, на котором у меня завязан ETL.
13 мар 17, 15:55    [20290186]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
doz.ace
Member

Откуда: Москва
Сообщений: 136
?
13 мар 17, 15:56    [20290188]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Resource Governor средство называется, только работает не так немного.
13 мар 17, 15:58    [20290201]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
doz.ace,
а зачем вы к написанию кода допускаете ящеров?
я даже боюсь спросить, зачем вы их на работу взяли.
13 мар 17, 16:07    [20290245]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
aleks2
Guest
Руслан Дамирович
doz.ace,
а зачем вы к написанию кода допускаете ящеров?
я даже боюсь спросить, зачем вы их на работу взяли.


Может он в меловом периоде живет?
13 мар 17, 16:09    [20290254]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Запретить выполнять корявые запросы вы не сможете, т.к. для SQL нет понятия плохой запрос, он делает то что вы ему сказали и в силу своих возможностей он может вам иногда помогать (говорить что пропущен индекс, что есть Convert implicit, spills в tempdb, no join predicate и т.д.), ваша задача как админа как раз таки вылавливать "плохие" запросы и делать их "хорошими".
Как сказал Говриленко с помощью Resource Governor вы можете ограничить пользователя в ресурсах, но он точно также сможет запустить "плохой" запрос, если у него для выполнения этого запроса есть необходимые права.
14 мар 17, 04:59    [20291924]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Можно запрещать выполнение запроса, если ожидаемое время не укладывается в какой-то лимит. Риски такого решения очевидны...
14 мар 17, 11:18    [20292535]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
s_ustinov
Member

Откуда: Munchen, DE
Сообщений: 2202
doz.ace
Есть средства в MS SQL Server 2014, которые позволяют автоматически очень тяжелые запросы, которые построены совсем не оптимально (например куча distinct'ов, вложеных запросов и т.д.) отсеивать (не выполнять или отправлять в тайм-аут). Причем только от отдельных пользователей, чтобы не рубились запросы служебного пользователя, на котором у меня завязан ETL.

Самый правильный вариант - сделать реплику базы и все запросы (в том числе и "хорошие") выполнять на ней.
Единственный минус - нужен отдельный сервер + отдельный инстанс SQL - чтобы все ресурсы были раздельные.
14 мар 17, 13:44    [20293336]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
doz.ace,

не пускать ящеров на продакшн не вариант?
14 мар 17, 13:45    [20293338]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
TaPaK
doz.ace,

не пускать ящеров на продакшн не вариант?


Бывает, что ящеры на продакшине оказываются без вашего желания.
14 мар 17, 14:10    [20293467]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
Владислав Колосов
Можно запрещать выполнение запроса, если ожидаемое время не укладывается в какой-то лимит. Риски такого решения очевидны...
Осталось угадать ожидаемое время.
14 мар 17, 18:10    [20294753]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Владислав Колосов
Можно запрещать выполнение запроса, если ожидаемое время не укладывается в какой-то лимит. Риски такого решения очевидны...
Во-первых, как вы узнаете время выполнения ДО ЗАПУСКА запроса?
А во-вторых, как вы собрались его запрещать?
14 мар 17, 22:32    [20295457]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33991
Блог
нужно отправлять ящеров на второй сервер с зеркалом
14 мар 17, 22:36    [20295470]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Критик
нужно отправлять ящеров на второй сервер с зеркалом
Талантливый ящер угробит зеркало так, что там очередь начнет расти огого какая...
15 мар 17, 01:01    [20295838]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
a_voronin
Бывает, что ящеры на продакшине оказываются без вашего желания.
Наверно 1С ? :)
15 мар 17, 10:43    [20296643]     Ответить | Цитировать Сообщить модератору
 Re: Защита от ящеркода  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
Критик
нужно отправлять ящеров на второй сервер с зеркалом

+1
ИМХО, для ящеров не нужна непрерывная репликация, достаточно будет ночью данные обновлять (при условии, что это ящеры не ночные) - в любом случае, окно всегда найдется.
И RG реально не помогает против ящеров от слова совсем...
15 мар 17, 11:18    [20296855]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить