Информация

Последние записи

Теги


Блоги


Записи из всех блогов с тегом: sqlserver


Эффективная работа с индексами

Индексы широко применяются при проектировании практически любых баз данных. Более того, при создании первичного ключа на любой из таблиц в MS SQL сервере соответствующий индекс создаётся автоматически. Правильно спроектированные индексы существенно ускоряют работу запросов (SELECT). Но, к сожалению, кроме ускорения операций по выборке данных, наличие индексов приводит к замедлению операций вставки (INSERT) и обновления (UPDATE) данных, так как кроме обновления самих данных в таблице, соответствующие индексы также должны быть обновлены.

Кроме того, для эффективной работы с индексами необходимо помнить о том, что индексы нуждаются в проведении регулярных регламентных работ, дефрагментации, регулярной перестройке и обновлению статистики. Иначе индексы становятся не эффективными, что влияет на производительность. Наличие неиспользуемых индексов, приводит к ненужным затратам на поддержание индексов.

Для того, чтобы понять эффективность индексов, в MSSQLServerAuditor представлены отчёты по неиспользуемым индексам, индексам для которых необходимо выполнить операции reorganise и rebuild и дате обновления статистики. Эти отчёты помогут понять как используются индексы, их текущее состояние и как проводятся регламентные работы.
автор: saycale добавлено: 21 окт 13 просмотры: 1670, комментарии: 2



Динамические таблицы - бонус для администратора

Каждая новая версия MS SQL сервера дополняет и расширяет динамические административные представления и функции. При обычной работе сервера баз данных собирается масса статистических данных и параметров, которые могут быть очень полезными при анализе работы сервера. Динамические таблицы дают доступ к большому числу параметров работы и это без дополнительной нагрузки на сервер и без необходимости покупки дополнительного программного обеспечения. Думаю что любой анализ сервера не может обойтись без этих данных.

В утилите MSSQLServerAuditor они широко используются для аудита работы различных аспектов SQL сервера. Знание данных и качественный анализ позволит понять как используется сервер, найти проблемые места и оптимизировать работу.

Важно то, что обычно сбор статистической информации связан с дополнительной нагрузкой на сервер, что при промышленном использовании не всегда возможно или желательно. А преимущество встроенных представлений, что статистика уже собирается и доступна на любом сервере, почему бы ей не воспользоваться?
автор: saycale добавлено: 12 сен 13 просмотры: 1346, комментарии: 0



Обновление приложения с базой данных - источник новых проблем?

Вы получили обновление приложение баз данных или установили новое. Что ждать от него? Не окажется ли база данных источником новых проблем и головной болью специалистов, ответственных за её поддержку и работу? Если сейчас приложение работает нормально, не окажется ли что через некоторое время не появится проблем с производительностью? Не будет ли жалоб пользователей из-за недостаточной скорости работы?

Специалисты и сотрудники службы поддержки задают себе подобные вопросы при установки нового приложения с базой данных или при обновлении уже работающего приложения. Можно ли предсказать возможные проблемы на стадии приёмки, до тех пор, пока ещё контракт о приёмке не подписан?

Думаю, что в общем случае нельзя, но некоторые выводы сделать можно. За время эксплуатации MS SQL сервера накоплен достаточно внушительный список рекомендаций по оптимальной настройке баз данных, по исходным текстам хранимых процедур и проектированию таблиц. Если новая система не следует некоторым из подобных практик и рекомендаций, то, в общем случае, для этого нужны веские основания. Если же их нет, то проблемы с производительностью, скорее всего, случатся.

Утилита MSSQLServerAuditor анализирует большое количество подобных проблем и может служить рекомендацией к изменению настроек или конфигурации базы данных и избежать проблем в будущем. Напротив, их отсутствие может быть уверенностью в том, что обновление не будет источником головной боли.
автор: saycale добавлено: 28 авг 13 просмотры: 1085, комментарии: 0



Диаграммы Ганта на службе администратора баз данных

Диаграммы Ганта широко применяются в планировании и управлении. В утилите MSSQLServerAuditor они используются для эффективного контроля регулярных заданий.

И действительно, каждое из заданий выполняется в назначенное время и использует ресурсы сервера баз данных. Часто несколько заданий выполняются одновременно или выполнение их накладывается друг на друга, что может приводить к потере производительности сервера и увеличению времени выполнения. Наглядная диаграмма это удобное средство контроля и планирования регулярными задачами.
автор: saycale добавлено: 23 авг 13 просмотры: 1490, комментарии: 0



Контроль выполнения регулярных заданий на MS SQL сервере

MS SQL сервер предоставляет очень удобный инструмент в виде SQL Agent для выполнения регулярных заданий (jobs). Удобный интерфейс, встроенный в MS SQL Management Studio, позволяет удобно управлять всеми заданиями, просматривать историю выполнения, ошибки и время выполнения регулярных заданий.

Моё мнение что интерфейс сделан настолько удобно, что нередко злоупотребляют и число регулярных заданий (а каждое задание ещё имеет и несколько шагов) становится настолько большим, что невозможно представить целостную картину, что, когда и сколько времени выполняется на сервере.

Всех ли возможностей, доступных в Management Studio, достаточно для эффективного контроля выполнения регулярных заданий? Думаю что нет. Не хватает удобного визуального отображения продолжительности и истории выполнения заданий. При большом количестве заданий, ещё и выполняемых регулярно, целостная картина не получается. Для решения этой задачи в утилите MSSQLServerAuditor доступна удобная диаграмма для визуального контроля выполнения регулярных заданий.

Визуальный анализ поможет легко представить общую картину выполнения заданий за выбранный период, определить проблемные места (дни, в которые задания выполняются дольше чем обычно), обнаружить скрытые тенденции и зависимости. Что тем самым позволит сделать работу сервера баз данных более эффективной.
автор: saycale добавлено: 22 авг 13 просмотры: 1325, комментарии: 0



Что нового в SQL Server Management Studio из SQL Server 2014 CTP1 ?

После выхода SQL Server 2014 CTP1 конечно хотелось узнать, что полезного добавил Microsoft в наш ежедневный инструментарий. А как это сделать быстро?
Тут конечно же поможет SSMSBoos add-in (ну ясно же что он, раз блог о нём…) !

  • Ставите на тестовой машине SQL Server 2014 CTP1 (достаточно только SSMS), ставите SSMSBoost для SSMS2012 (он ставиться и работает с SSMS 2014 CTP1 - проверено).
  • Затем выполняете SSMSBoost->Extras->Dump SSMS Commands. Данная команда возвращает в текстовом виде список всех зарегистрированных в SSMS команд. (Выполняете эту команду на машине с SSMS 2012 и на тестовой машине с SSMS 2014 CTP1)
  • Результаты сравниваете с помощью WinMerge, TotalCommander или любой другой утилиты для сравнения текстовых файлов.

    Результат: На уровне функций пока ничего нового. Набор функционала идентичен.

    Данный метод можно применять также для быстрого поиска команд, о существовании которых вы догадываетесь, но не можете найти в структуре меню ну и конечно для отслеживания развития SSMS в будущих версиях.
    Удачи!
  • автор: AndreiRantsevich добавлено: 21 авг 13 просмотры: 3120, комментарии: 0



    Эффективный аудит архивного копирования баз данных

    Архивное копирование баз данных одна из задач любого лица, ответственного за поддержку баз данных. Для проведения архивного копирования кроме стандартной команды
    BACKUP DATABASE
    
    которая доступна в MS SQL Server, есть масса утилит от сторонних компаний. Наличие достаточно большого числа решений от различных поставщиков несомненно свидетельствует о важности этой задачи. Но выполнение регулярного архивного копирования это только часть задачи, не менее важной частью является регулярный контроль этой процедуры. Вот об эффективном контроле мы и поговорим в этой статье.

    Проверка выполненного архивного копирования - это ежедневная задача и сделав её максимально короткой позволит сберечь ежедневное время для действительно важных задач и не будет обременять администратора. Задача становится всё более и более сложной при увеличении количества баз данных. В моём хозяйстве случае количество баз на продуктивных серверах, требующих контроля ежедневно, исчисляется тысячами и даже просмотр отчёта (если он даже генерируется автоматически) непозволительная роскошь трата времени.

    Для эффективного выполнения этой задачи в утилите MSSQLServerAuditor доступен отчёт, где на одной(!) странице сгруппированы только проблемы о всех типах архивного копирования (полное, инкрементальное и архивация журнала транзакций). Как правило, отчёт содержит только небольшое число ошибок и позволяет сразу сконцентрироваться на решении только проблемных моментов и не просматривать большинство задач выполненных успешно.

    К сожалению ошибки случаются, но наличие эффективного контроля позволяет понять проблему и приступить к решению. Причины ошибок заключаются в сбоях или проблемах дисковой системы (банально кончилось место на ленте), сбоях в сети, ошибок в регламентных задачах, новых базах, которые забыли включить в регулярное архивное копирование, отключении или прерывании по разным причинам архивирования. Т.е. ранняя диагностика проблемы с архивным копированием позволит ещё и решить параллельные задачи и в целом предоставить эффективную информационную среду для выполнения бизнес задач.
    автор: saycale добавлено: 21 авг 13 просмотры: 1136, комментарии: 0



    Новый блог об эффективном администрировании MS SQL сервера

    Блог посвящён администрированию и разработке для MS SQL Server. В качестве примеров я привожу примеры боевых реальных серверов, используемых в промышленной эксплуатации. В моём хозяйстве окружении используются сервера баз данных начиная с версии 7.0 (остался только один) и до 2014 (один, только для изучения возможностей). Основная масса серверов работает под MS SQL 2008, хотя всё ещё значительная часть под MS SQL 2000, но постепенная миграция на MS SQL 2008 идёт и доля серверов MS SQL 2000 стремительно сокращается. Для эффективного управления всем окружением используется утилита MSSQLServerAuditor, которая является основным инструментом управления и помогает эффективно справляться со всё возрастающей сложностью административных задач и сократить время на ежедневные задачи по мониторингу и управлению всего парка серверов.
    автор: saycale добавлено: 21 авг 13 просмотры: 1335, комментарии: 0



    Изменения в SQL Server 2012, связанные с диспетчером памяти

    По материалам статьи Juergen Thomas: Memory Manager surface area changes in SQL Server 2012 в блоге SQLOS Team
    Автор: G Bowerman
    Перевод: Александр Гладченко
    Технический редактор: Ирина Наумова

    Множество изменений было внесено в компоненты диспетчера памяти SQLOS новой версии SQL Server 2012. Эти изменения можно обнаружить в динамических административных представлениях (DMV) объектов памяти, в команде выдачи статуса объектов памяти DBCC и в счётчиках производительности. Изменения в диспетчере памяти позволяют теперь получать более точную информацию о потреблении памяти сервером и помогают SQL Server более эффективно управлять распределением страниц, а также существенно улучшают обработку и отслеживание распределения памяти между узлами NUMA. Задача этой статьи собрать эти изменения в одном месте, чтобы можно было быстро найти ссылки на подробную информацию о деталях, относящихся к новшествам диспетчера памяти.
    Некоторые из этих изменений призваны были стандартизировать измерения счётчиков памяти в килобайтах, а не в байтах или страницах, логически продолжая тот процесс, который уже был начат в более ранних версиях. Сами процедуры подсчёта использования памяти теперь стали более релевантными и достоверными, поскольку модули, отвечающие за одностраничные и многостраничные распределения, были заменены одним модулем, который теперь заведует распределением страниц любого размера и любого числа этих страниц. Также консолидация распределения страниц разного размера в одном модуле позволила придать целостный и законченный вид счётчикам производительности, отражающим распределение страниц.
    Другие изменения относятся к изменению места диспетчера памяти в модели интерфейсов взаимодействия с операционной системой. Он теперь играет центральную роль, обеспечивая распределение страниц практически для всех компонент.

    Читать весь текст статьи: http://msmvps.com/blogs/gladchenko/archive/2012/09/03/1815794.aspx
    автор: Александр Гладченко добавлено: 04 сен 12 просмотры: 3365, комментарии: 0



    RowGoal и неравномерное распределенных данных

    На написание этой заметки меня подвиг доклад Алексея Эксаревского на 24 hours of PASS про наиболее частые причины ошибок в оценке кардинальности. Те, кто не видел этот доклад могут ознакомиться с ним на techdays.

    Алексей рассказывает о возможных причинах неправильных оценок кардинальности (или количества строк), из-за чего оптимизатор выбирает неудачный план запроса. Наиболее интересным и нетривиальным мне показался один из последних рассмотренных случаев, когда на эти оценки влияет механизм RowGoal.

    Я уже касался вкратце этого механизма, когда описывал вывод недокументированных флагов трассировки тут. Но на всякий случай повторюсь, чтобы было понятно, о чем речь.

    RowGoal – это механизм оптимизатора, который позволяет основываясь на заранее известном числе строк, которые необходимо получить (например в запросе есть предложение Top N), ограничить число строк для обработки в более ранних операторах. Казалось бы, если мы заранее знаем число строк, то это позволит выбрать лучший план. И, как правило, это так, однако, при некотором особенном распределении данных, этот механизм может мешать.

    Рассмотрим механику более подробно.
    Читать дальше…
    автор: SomewhereSomehow добавлено: 03 июл 12 просмотры: 1704, комментарии: 0


    предыдущие записи