(Возврат на основную страницу)

 

Содержание номера за Май 2013 год

SQL Server

Май 2013 05 (35)

 

  1. Включение издателей репликации в группы доступности AlwaysOn
    Уорвик Радд (Warwick Rudd)

  2. Включение подписчиков репликации в группы доступности AlwaysOn
    Уорвик Радд (Warwick Rudd)

  3. Копирование объектов между схемами
    Винай Кумар (Vinay Kumar)

  4. Верификация столбцов-кандидатов для ограничений FOREIGN KEY
    Чарльз Якобус (Charles Jacobus)

  5. Проверка прав доступа пользователя Guest для группы БД
    Microsoft


Расчет сокращения размеров БД при использовании компресии
Хольгер Шмелинг (Holger Schmeling)

С появлением SQL Server 2008 администраторы получили возможность использовать сжатие данных. В результате не только сокращается требование места на дисках, но и существенно уменьшается интенсивность операций ввода\вывода и требования памяти. Сжатие существует в двух вариантах - на уровне записи и на уровне страницы (подробное описание технологии можно найти, например здесь http://blogs.msdn.com/b/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx).
Однако, ответить на вопрос о полезности использования сжатия - нелегкое дело. При анализе применимости нужно учитывать, в том числе, выигрыш от сокращения объемов хранения. SQL Server Management Studio предлагает использование Data Compression Wizard, предоставляющего оценку выигрыша в зависимости от выбранного типа сжатия. Из контекстного меню по щелчку правой клавишей мыши на имени БД выберите команду Storage/Manage Compression… Выберите в списке тип сжатия (Row или Page) и щелкните кнопку Calculate.

К сожалению, стандартный инструмент не позволяет получить оценку выигрыша для группы объектов. Например, если вы хотите оценить, насколько сильно будут сжаты 10 самых больших таблиц в БД, все расчеты придется проделывать по одному за раз. И тут приходит время воспользоваться процедурой sp_estimate_data_compression_savings. Процедура также работает с одним объектом за раз, но мы можем вызвать ее несколько раз.
 


Кто работает? Использование системных представлений - простой путь
Адам Маханик (Adam Machanic)

Если вы не следили за моими блогами, то я хочу вкратце дать описание процедуры, которую я разработал для мониторинга текущей активности в рамках SQL Server:


sp_who3
Денни Черри (Denny Cherry)

Я написал замену процедуре sp_who2, которую я назвал sp_who3. Процедура помогает в ситуации, когда необходимо отсыскать медленно исполняющиеся запросы т.к. она предоставляет много полезной информации за один проход.
Использование:
exec sp_who3
exec sp_who3 active
exec sp_who3 blocked
exec sp_who3 72 /*любой активный SPID*/

При использовании без параметров, процедура возвращает набор, сходный с тем, что выдает sp_who2.
При указании “active” процедура выдает набор, сходный с выводом от sp_who2 active.
При указании “blocked” процедура выдает тот же набор, что и при использовании sp_who3 active, но показывает только блокированные и блокирующие процессы.
 


Использование свойства Identity для разрешения проблем параллелизма
Аджит Анантрам (Ajit Ananthram)


Недавно, я столкнулся с интересной проблемой параллелизма. База данных, с которой я работаю, начала страдать от перемежающихся блокировок и связанных с ними проблем. В результате в приложении, которое использовало эту базу данных в качестве своего сервера (backend), отмечались периоды ожидания (timeouts).
Чтобы проанализировать сложившуюся ситуацию, я написал сценарий и включил его в расписание как задание, которое будет выполнено в заданный промежуток времени на следующий день. Сценарий должен был отслеживать возникновение блокировок в базе данных, и если блокировка обнаружена, обеспечить запись соответствующих данных в журнал, реализованный с помощью таблицы. Эти данные включали подпрограмму SQL-сервера, вызвавшую блокировку, заблокированную подпрограмму SQL-сервера, предложение в подпрограмме SQL-сервера, которое было заблокировано, и объект базы данных, который явился источником конфликта.
 


Создание настраиваемых условий и политик для SQL Server Policy Based Management средствами T-SQL
Джон Гровер (John Grover)


Задача
В SQL Server встроенные условия и политики являются отличной возможностью, позволяющей начать следить за вашей средой, но среди них нет аспектов (facets) для некоторых параметров SQL Server, которые интересуют меня. Как я могу контролировать свою среду, используя управление на основе политик? Ознакомьтесь с настоящим материалом, чтобы узнать об этом подробнее.
 

Решение
Управление на основе политик (Policy Based Management, PBM) характеризует гибкость, позволяющая написать пользовательские условия, которые могут быть вычислены везде, где можно написать предложение на языке T-SQL.
Реализованная в SQL Server возможность управления на основе политик позволяет выбирать из встроенных аспектов, условий и политик, которые являются отличной отправной точкой для мониторинга инфраструктуры SQL Server, но это всего лишь отправная точка. Управление средствами PBM предоставляет также возможность создавать условия, которые будут следить за всем, к чему можно обратиться с предложением на языке T-SQL. Я исхожу из того, что вы уже потратили некоторое время на работу с управлением средствами PBM, если же нужен учебник для начинающих, обратитесь к некоторым из ссылок, предоставленных в конце этого совета, которые помогут вам сделать первый шаг.


(Возврат на основную страницу)