(Возврат на основную страницу)
dbWarden - бесплатный инструмент мониторинга SQL Server
Стиви Раундс, Мишель Раундс (Stevie Rounds, Michael Rounds)
Поиск строки во всех таблицах базы данных
Сорна Кумар Мутурадж (Sorna Kumar Muthuraj)
dbWarden - очистка старых данных
Джефферсон Элиас (Jefferson Elias)
Как завершить все процессы в БД или для группы БД на Sql Server
Саурабх Синха (Saurabh Sinha)
Сокращения в программном коде за счет использования операторов += и -=
Грегори Ларсен (Gregory Larsen)
dbWarden - бесплатный инструмент мониторинга SQL Server
Стиви Раундс, Мишель Раундс (Stevie Rounds, Michael Rounds)
Обзор
В прошлом году моя жена и я занимались созданием (компиляция, написание,
переписывание и т.д.) набора инструментов, который позволяет нам эффективно
контролировать наш SQL Server 2005 и более новые версии баз данных, не тратя
деньги на инструмент мониторинга. Я работаю в компании, которая имеет очень
ограниченный бюджет, и я хотел найти способ определить, что что-то было не так,
или вот-вот пойдет не так. Я также хотел создать что-то с помощью TSQL для
упрощения развертывания на новом экземпляре SQL Server.
Мы решили, начать мониторинг с таких вещей, как:
Прирост файлов (TempDB и LDF)
Статистика производительность (CPU, соединения и память)
Блокировки на уровне БД
Долгие запросы
Долгие задания
Мы использовали задания SQL и хранимые процедуры для сбора данных
и отправляли письма по электронной почте или текстовые оповещения на основе
показателей, которые мы определили. Мы создали несколько таблиц для хранения
конфигурации этих оповещений. Например, мне нужно знать, есть ли блокировка,
которая длится дольше, чем 20 секунд. Моей жене не нужно было знать о наличии
блокировки до и после этого. Вы также можете настроить, какие базы данных должны
быть исключены из проверки или просто исключены для конкретного оповещения.
В дополнение к мониторингу и оповещениям, мы хотели создать комплексный
ежедневный отчет для проверки общей работоспособности сервера базы данных. Он
должен обеспечить качественный обзор о состоянии сервера и что произошло в
последние 24 часов. Мы нашли хороший отчет о работоспособности создаваемый с
помощью хранимой процедуры, который написал Ritesh Medhe. Он динамически
генерирует HTML текст и отсылает результаты по электронной почте. Мы взяли его
идею и решили расширить ее, добавив больше информации в имеющихся разделах, и
добавив несколько собственных.
Мы собрали все в автономный сценарий, который мы могли бы выполнить на новом
сервере. Скрипт создает базу данных и все хранимые процедуры, таблицы, задания,
и т.д., чтобы подготовить нашу систему мониторинга. Устав называть наше детище
"наше решение мониторинга", мы решили назвать его. Так родился DBWarden!
DBWarden использует SQL Agent, DBMail и операторов.
Поиск строки во всех таблицах базы данных
Сорна Кумар Мутурадж (Sorna Kumar Muthuraj)
Эта несложная процедура позволяет выполнить поиск по всем данным в таблицах
БД SQL Server. Кроме того, она может выполнить поиск в определенных таблицах,
если их список передать в виде строки, разделенной запятыми. Она также способна
выполнить генерацию опискового запроса, не выполняя его.
dbWarden - очистка старых данных
Джефферсон Элиас (Jefferson Elias)
Этот код создает или модифицирует объекты, необходимые для очистки
исторических данных, хранящихся в таблицах системы мониторинга dbWarden
(описание системы см. в статье " dbWarden - бесплатный инструмент мониторинга
SQL Server").
По умолчанию,длительность хранения составляет 90 дней. Если необходимо изменить
это значение или вы захотите добавить другие таблицы, внесите изменение в
таблицу dbo.DataDictionary_Tables, куда я добавил два дополнительных столбца:
один для хранения имени столбца (оно должно быть типа date или datetime) и один
для указания длительности хранения в днях.
Как завершить все процессы в БД или для группы БД на Sql
Server
Саурабх Синха (Saurabh Sinha)
Если вам нужно убить соединение в конкретной БД или в нескольких БД, вы
можете воспользоваться приведенным ниже кодом. Иногда вы можете встретить совет,
что для удаления соединений вы можете перевести БД в режим Offline или в
однопользовательский режим. Не делайте этого, Kill работает лучше.
(От Редакции. Возможно это и так, но на нагруженной системе на место убитого
соединения могут прийти два новых, особенно, если логика прикладного слоя умеет
распознавать потерю соединения. Так что можно еще поставить сервер на паузу,
чтобы не давать новых соединений
http://msdn.microsoft.com/ru-ru/library/hh403394.aspx. Сервер на паузе
продолжает работать, но не принимает новые соединения).
Сокращения в программном коде за счет использования операторов
+= и -=
Грегори Ларсен (Gregory Larsen)
Никому не хочется лишний раз нажимать на клавиши при написании куска кода
T-SQL. Чтобы помочь минимизировать количество символов, которые необходимо
вводить с клавиатуры разработчику на языке T-SQL, команда Microsoft, выпуская
версию SQL Server 2008, представила три новых сокращенных оператора. Этими
сокращениями являются оператор объединения строк, операторы РАВНО со сложением и
РАВНО с вычитанием. В настоящей статье я опишу функциональность этих операторов
и приведу несколько примеров того, как они работают.