Архив рубрики: SQL

Rozetka UA

MS SQL Server, адаптация логических объектов под текущую нагрузку

MS SQL Server. Появилась возможность на одном из серверов реализовать свою давнюю идею. А именно- сервер имел явные проблемы с производительностью. Одной из причин было несовершенство логических структур, явно недоставало индексов. Что было сделано: В цикле специальный скрипт оценивал состояние сервера, в случае если фиксировались проблемы с производительностью запускался второй скрипт. Он выделял из кэша… Читать далее »

О пользе регулярных ревизий запросов в кэше и результативности покрывающих индексов.

О пользе регулярных ревизий запросов в кэше и результативности покрывающих индексов. На одном из серверов в плане запросов (процедура) были выявлены дорогие операции Один запрос: RID Lookup, две по одной таблице 887 Mb data Второй запрос: Key Lookup, одна, по таблице 14.3 Gb data Особых замечаний по производительности не высказывалось, в то же время было… Читать далее »

Сценарий Get all SQL Statements with «table scan» in cached query plan

Очень ценный и полезный скрипт, спасибо автору!   Источник: Сценарий Get all SQL Statements with «table scan» in cached query plan Description: «Table scan» (and also «Index scan») can cause poor performance, especially when they are performed on large tables. To identify queries causing such scans you can use the SQL Profiler with the events… Читать далее »

Методы и средства взлома баз данных MySQL — «Хакер»

Содержание статьи Вместо предисловия WWW Поиск жертв SHODAN GitHub Инструментарий Сбор информации Брутфорс Постэксплуатация Сканирование на CVE-2012-2122 Бородатый UDF Сценарий использования UDF Заключение MySQL — одна из самых распространенных СУБД. Ее можно встретить повсюду, но наиболее часто она используется многочисленными сайтами. Именно поэтому безопасность базы данных — очень важный вопрос, ибо если злоумышленник получил доступ… Читать далее »

Раздел: SQL

Учись, школота, запросы писать или о пользе регулярных ревизий кода

Разбирался почему некий сервер медленно работает, попался запрос на глаза. Не могу не поделиться с миром отдельными его фрагментами: То есть, несколько join собирают колоссальное количество rows, после чего из этого мракобесия вычисляется 1 rows. Был впечатлен и озадачен. И еще, на одном из серверов нашел потрясающую штуку- в плане запроса шла вставка во временную… Читать далее »

Understanding SQL server memory grant – Tips, Tricks, and Advice from the SQL Server Query Processing Team

This article describes how query memory grant works in Microsoft SQL Server. It applies to both SQL2005 and SQL2008. Written by Jay Choe, Microsoft SQL Server Engine. ——————————————————————————— Query memory grant (a.k.a. query work buffer) is a part of server memory used to store temporary row data while sorting and joining rows. It is called… Читать далее »

Раздел: SQL

Реакция MS SQL SERVER на необходимость увеличения количества объектов блокировки

Некоторое время назад один заслуженный сервер выводился из эксплуатации. Ну и возникла идея устроить ему напоследок эдакое стресс-тестирование. Являются ли счетчики «Lock Blocks Allocated|SQLServer:Memory Manager|» и «Lock Owner Blocks Allocated|SQLServer:Memory Manager|» постоянными величинами? По идее, некоторое динамическое перераспределение памяти должно быть, но фактически оно наблюдается? Не пойдет ли после использования 40% эскалация блокировки? Параметры сервера… Читать далее »

Странная ошибка MS SQL Server

Вчера столкнулся с интересной проблемой. Сервер, создаю новые JOB-ы. Вдруг ВСЕ джобы по серверу прекращают нормально работать без каких-либо настораживающих сообщений в логе. Учетка не заблокирована, внешне все нормально. Загадка. Вот здесь описание подобной ситуации This is the result of a bug. The bug is known but too low priority to be fixed. The best… Читать далее »

Раздел: SQL

Способ уменьшения пиковых нагрузок на MS SQL Server

Обратил внимание- на MS SQL Server периодически возникает ситуация ненормальной но непродолжительной нагрузки. Анализ показал, что причиной является вызов JOB-ов. Они вызываются по времени, создают синхронную нагрузку. Можно ли их как-то развести без серьезных изменений логики и шедулера? Можно- очень просто. В один из самых напряженных скриптов был добавлен такой фрагмент:   DECLARE @wt VARCHAR(12)… Читать далее »

MS SQL Server, traceflag для запрета параллелизма

В 12 версии появился такой вот интересный флаг трассировки, которого раньше очень не хватало: 9495 Disables parallelism during insertion for INSERT…SELECT operations and it applies to both user and temporary tables. For more information, see Microsoft Support article   Иногда с ожиданиями CXPACKET и SOS_SCHEDULER_YIELD  возникала следующая проблема- их величина достигала нескольких тысяч секунд в минуту. Фактически… Читать далее »

Pratik UaPratik UaPratik Ua