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

 

Содержание номера за Март 2012 год

SQL Server

Март 2012 3 (21)

 

  1. Генерация сценария создания для всех таблиц
    Олаф Хелпер (Olaf Helper)

  2. Создание таблицы аудита и триггеров на Insert\Update\Delete для таблицы
    Сорна Кумар Мутхурадж

  3. Перечисление имен входа на Sql Server из AD групп
    Олаф Хелпер (Olaf Helper)

  4. Централизованное управление: советы по организации резервного копирования на нескольких серверах
    Грант Фритчи (Grant Fritchey)

  5. Обновление подсистемы расширенных событий в версии SQL Server 2012: 1 – Введение в пользовательский интерфейс SSMS
    Джонатан Кехайяс (Jonathan Kehayias)

  6. Регулятор ресурсов
    Рой Эрнест (Roy Ernest)ляпсусах в работе с SQL Server рассказывает Грант Фритчи


Генерация сценария создания для всех таблиц
Олаф Хелпер (Olaf Helper)


Этот код написанный на PowerShell использует SMO = "Server Management Object" для генерации скрипта создания для всех таблиц и опционально – для всех сопутствующих объектов, таких как индексы и пр.
Функциональность моего кода аналогична той, что можно получить средствами "Script Generator" в SSMS (SQL Server Management Studio), но мой код выполняет свою работу по единственному щелчку мыши. Для каждой таблицы создается самостоятельный файл, содержащий выражение CREATE.

Код работает с PowerShell 2.0 + SMO + MS SQL Server 2005 или более новых версий, для всех редакций.
Требует разрешений на просмотр метаданных (VIEW DEFINITION) на MS SQL Server.
 


Создание таблицы аудита и триггеров на Insert\Update\Delete для таблицы
Сорна Кумар Мутхурадж


Аудит – это почти всегда одно из стандартных требований в транзакционной системе. Для организации аудита на определенной таблице нам следует создать таблицу сходной структуры и создать набор триггеров для перехвата операций Insert , Update и Delete, чтобы отслеживать операции над данными основной таблицы. Предлагаемая утилита\процедура создает набор средств аудита для указанной таблицы.

 


Перечисление имен входа на Sql Server из AD групп
Олаф Хелпер (Olaf Helper)


Использование групп AD вместо индивидуальных пользовательских бюджетов – правильный и удобный способ организации системы безопасности SQL Server. Департамент IT может добавлять новых пользователей в группу AD, что автоматически выдает им набор соответствующих привилегий без необходимости выдавать администраторам какие-то привилегии на самом SQL Server.
С другой стороны, будучи администратором БД знаете ли всех членов групп в AD, имеющих доступ к вашему SQL Server?
Можно перебрать вручную, но это трудная задача. Можно создать связанный сервер для отправки запросов в AD. Или можно использовать небольшой скрипт на Powershell.
Предлагаемый код опрашивает группы AD, которые имеют право доступа к SQL Server и перечисляет всех членов группы.
 


Централизованное управление: советы по организации резервного копирования на нескольких серверах
Грант Фритчи (Grant Fritchey)


Логика управления резервным копированием на двух-трех серверах должна быть относительно простой, но как насчет администраторов БД, которым, чтобы справиться с большим числом серверов, необходима автоматизация? Какие возможности у них есть, и чем эти возможности отличаются друг от друга? В этом разбирается Грант Фритчи (Grant Fritchey).
Немалое число людей, выполняющих обязанности администраторов БД, управляют лишь горсткой серверов. Для таких людей организовать создание резервных копий на каждом сервере в отдельности – задача, которая просто не вызывает каких-либо затруднений. Нашли новый способ, позволяющий повысить надежность резервного копирования? Отлично, не откладывая в долгий ящик, отредактируйте три сценария, и дело сделано. Но что, если имеется больше пяти серверов, – по-прежнему просто? А если их пятьдесят? Уже сложнее. А если насчитывается двести серверов, и все – разных типов: некоторые используются как производственные, другие отданы под разработку, сколько-то выделены для тестирования, некоторые сервера являются виртуальными; кто знает? Вот теперь придется поработать. У вас есть отличный новый способ для организации резервного копирования, но этот способ надо распространить на большое количество серверов. Ваши действия?
Можно было бы обратиться к каким-то сценариям автоматизации. Пожалуй, вы могли бы создать базу данных, в которой хранятся все ваши серверы, а затем написать некий динамический TSQL-код, который подключается к каждой базе данных в отдельности. Может быть, вы создали бы сценарий оболочки PowerShell, способный подключаться ко всем серверам одновременно. Идея: а давайте сначала попробуем узнать, нет ли чего подходящего у фирмы Microsoft. Хм-м-м… похоже, здесь можно было бы что-то подобрать. У нас есть одна возможность, которая называется «сервер централизованного управления» (Central Management Server) (см. список ресурсов в конце статьи). Звучит, определенно, обещающе. Но есть еще и такой раздел документации, как «Автоматизация администрирования в масштабах предприятия» («Automating administration across the enterprise») (см список ресурсов в конце статьи). Опять-таки, заманчиво. Давайте, протестируем обе эти возможности и посмотрим, какая из них работает.
 


Обновление подсистемы расширенных событий в версии SQL Server 2012: 1 – Введение в пользовательский интерфейс SSMS
Джонатан Кехайяс (Jonathan Kehayias)


По большей части я, можно сказать, помалкивал о грядущих изменениях в версии SQL Server 2012 для расширяемых событий (extended events). Главным образом потому, что новые возможности продукта должны были до конца «пропечься», чтобы быть уверенным в том, что по мере развития жизненного цикла продукта информация не потеряет свою актуальность, и несколько серьезных изменений вполне оправдали это решение. Сейчас, когда версия SQL Server 2012 находится на стадии RC0, а также из-за откликов, которые я видел в нескольких темах на канале обратной связи, организованном для сообщений об ошибках на сайте Microsoft SQL Server Connect, вроде недавнего сообщения о проблеме шаблона, о чем я оставил запись «Workaround for Bug in Activity Tracking Event Session Template in 2012 RC0» в своем блоге, я решил действовать и начать новую серию записей в блоге с описанием в общих чертах новых возможностей, которые предоставляет для расширенных событий версия SQL Server 2012. Не могу придумать ничего лучшего для открытия этой серии, чем посвятить пару записей новым возможностям пользовательского интерфейса для расширенных событий, реализованного в среде SQL Server Management Studio.
 


Регулятор ресурсов
Рой Эрнест (Roy Ernest)


Если вам досаждают громадные запросы, у вас есть несколько приложений баз данных с непредсказуемыми колебаниями рабочей нагрузки, или, если вам надо гарантировать, что рабочие нагрузки получат необходимые им оперативную память либо ЦП в соответствии с заданными приоритетами, значит вам нужен регулятор ресурсов (Resource Governer) и требуется четкое объяснение этой технологии, подготовленное Роем Эрнестом (Roy Ernest).
Последние 3 или 4 года наблюдается тенденция к консолидации и/или виртуализации ради того, чтобы можно было сделать большее, обладая меньшим. Можно также обратиться к возможности, которая впервые появилась в версии SQL Server 2008 Enterprise Edition и называется «регулятор ресурсов» (Resource Governor), чтобы помочь «растянуть» имеющиеся ресурсы. Как подсказывает его название, регулятор ресурсов позволяет управлять ресурсами, которые доступны SQL Server. Однако, он служит не только для ограничения ресурсов, используемых сервером SQL Server, но также обеспечивает получение гарантированного минимального объема ресурсов, что позволяет вам диктовать и отслеживать функциональное поведение экземпляра SQL Server. В настоящее время регулятор ресурсов можно использовать для управления двумя ресурсами – ЦП и оперативной памятью.
Если вы являетесь профессионалом в области ИТ или администратором БД и отвечаете за организацию высокой доступности, виртуализацию или масштабирование, значит, эта статья – для вас. Мы будем анализировать три «W», – «what», «when» и «why» («что», «когда» и «почему»), – касательно регулятора ресурсов. Попутно, мы рассмотрим схему, объясняющую, как регулятор ресурсов обрабатывает запросы, полученные от разных клиентов, некоторые наиболее эффективные приемы использования этого инструмента, а также то, как его можно настроить и отключить. Приступим!
 

Что такое – регулятор ресурсов?
Вы, может быть, слышали о чем-то таком, что называется ограничением скорости (rate limiting) или регулированием полосы пропускания (throttling bandwidth) и гарантирует, что когда вы бродите по Сети или скачиваете оттуда данные, то не занимаете всю доступную полосу пропускания и не препятствуете другим пользователям. Регулятор ресурсов работает аналогичным образом и гарантирует, что один громадный запрос не потребляет всю «огневую мощь» вашего сервера. Регулятор ресурсов не только предоставляет возможность ограничить максимальное потребление, но также позволяет задать значения, определяющие минимум, и обеспечить надлежащий уровень потребления ресурсов для соответствующих приложения или пользователя.
Представляя себе регулятор ресурсов, помните о трех его базовых компонентах: пулах ресурсов (resource pools), группах рабочей нагрузки (workload groups) и функциях классификатора. Выделенные SQL Server ЦП и оперативная память являются ресурсами, и эти ресурсы могут быть объединены в пулы, предназначенные для различных приложений или пользователей. Ресурсным пулом называется небольшая порция этих двух ресурсов. Группа рабочей нагрузки – это набор определяемых вами запросов, а функция классификатора направляет входящий запрос в конкретную группу рабочей нагрузки. Давайте подробно рассмотрим каждый из названных компонентов.
 


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

Hosted by uCoz