Контрольные списки SQL Server

14

В продолжение моего другого вопроса я хотел бы начать думать о том, на что я должен смотреть ежедневно, еженедельно / ежемесячно с точки зрения предупреждений. Я надеюсь, что смогу увидеть проблемы до их возникновения (таков план) ...

До сих пор я начал собирать сценарии для следующего (без заказа):

Ежедневно

  • Проверьте работоспособность системы (на всякий случай, если мне нужно что-то проверить как администратор БД)
  • Проверьте последнюю резервную копию
  • Проверьте резервные копии журнала транзакций
  • Проверьте статус работы SQL
  • Проверьте среднее использование процессора за последние 24 часа (или 1140 минут)

еженедельно

  • Проверьте историю резервного копирования MSDB
  • Проверьте, когда последний раз был запущен CheckDB
  • Проверьте фрагментацию индекса
  • Проверьте статистику индекса (читает против записи и т. Д.)
  • Проверьте наличие узких мест ввода-вывода

ежемесячно

  • Проверьте отсутствующие индексы
  • Проверьте индексы, которые больше не используются

Любые другие предложения? (Я новичок в DBA, поэтому любая помощь / совет всегда приветствуется)

Стюарт Блэклер
источник

Ответы:

3
  1. Резервные копии

    • Проверьте наличие резервных писем
    • Сколько времени заняло резервное копирование (продолжительность резервного копирования базы данных)
    • Убедитесь, что все базы данных резервируются в соответствии с планом обслуживания
  2. Свободное место на диске. Обратите внимание на существенные отличия от предыдущей проверки. Файлы журнала могут сильно пострадать от ежемесячных заданий

  3. Сбои в работе. Отфильтруйте активность заданий на наличие сбоев

  4. Системные проверки. Посмотрите в журналах SQL для любых критических ошибок.

    • Журналы приложений
  5. Производительность

    • Проверьте статистику производительности на всех серверах
    • Проверьте, что счетчики находятся в нормальном диапазоне на всех производственных серверах
  6. связь

    • Убедитесь, что приложение клиента может получить данные из базы данных
    • Проверьте допустимую скорость доступа к данным
  7. Репликация. Убедитесь, что каждая публикация и распространитель работают для каждой подписки.

Контрольный список администратора SQL Server

Контрольный список Брэда Sure DBA

Oracle DBA Checklist (может быть полезно)

Контрольный список управления базами данных SQL Server

Утренний контрольный список DBA

Контрольный список DBA MS SQL Server (много контрольных списков)

Контрольный список администратора SQL Server

Гарик
источник
4

Единственный вариант, который я бы предложил в вашем контрольном списке, это заменить слово BACKUP на RESTORE. Проверка того, что резервные копии завершены, является хорошим началом, и действительно важно, можете ли вы восстановить их. Оповещение об ошибке резервного копирования, автоматизация случайной выборки восстановлений, чтобы вы знали, что резервные копии хороши.

Следующий шаг из ежедневного / еженедельного / ежемесячного контрольного списка - история. Проверка счетчиков производительности x / y / z не имеет смысла без базовой линии, которую можно сравнить сегодня со вчерашним днем. Без понимания сегодняшнего и вчерашнего дня невозможно предсказать следующий месяц.

Марк Стори-Смит
источник
2

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Не администратор базы данных SQL Server

Если возможно, вы можете ежемесячно проверять индексы, которые не используются никакими запросами. Это вы определенно хотели бы сделать для

  • очень большие столы
  • таблицы со многими индексами
  • индексы со многими столбцами (3 или более)
RolandoMySQLDBA
источник
4
Просто убедитесь, что «не используется» отражает весь деловой цикл. Я слышал о нескольких случаях, когда администратор БД решал отказаться от индекса, который не использовался в течение нескольких месяцев, и на следующий день ежеквартальный отчет финансового директора занимает часы, а не секунды ... вы не можете полагаться на index_usage_stats DMV, особенно если ваш сервер периодически перезагружается, поэтому я буду делать это только в том случае, если вы ведете собственную статистику использования с течением времени ...
Аарон Бертран
2

Часто проверяйте длину очереди ввода / вывода на предмет узких мест.

Томас Стрингер
источник
2

Что-то, что может помочь в достижении этого ... Idera выпустила бесплатный инструмент для просмотра работ по SQL Server, который я использовал несколько раз. Это очень хорошо для получения хорошего обзора, хотя у него есть несколько ограничений, поскольку он бесплатный. Стоит проверить: http://www.idera.com/Products/Free-Tools/SQL-job-manager/

Что-то, что я бы добавил для безопасности дома ... Файл трассировки специально для регистрации действий входа в систему для учетных записей пользователей. Это позволит вам легко находить неактивные аккаунты. Затем также скрипт, который отслеживает, когда кто-то добавляется к фиксированным ролям сервера / базы данных. Особенно sysadmin, если вы не единственный, кто управляет сервером / экземпляром.


источник
Является ли файл трассировки лучшим способом сделать это?
Томас Стрингер
это самый простой способ, который я знаю, чтобы получить информацию. Если вы не включили триггер для записи информации в таблицу или журнал, может быть. При использовании SQL 2008 для этой цели можно использовать управление политиками.
Трассировка может быть лучшим способом, @ShawnMelton. Есть способ изменить реестр ( sqlservercentral.com/articles/security/sqlserverauditingpart1/… ), чтобы SQL Server проверял все имена входа (успешные и неудачные). Я не уверен, что лучше всего значит, но я просто всегда опасался, что след будет работать бесконечно. Твои мысли?
Томас Стрингер
У меня никогда не было проблем с трассировкой файлов, когда они так сильно влияли на производительность. Включение аудита C2, хотя у меня есть, мне не нравится включать это. Расширенные события предлагают альтернативу и, как предполагается, являются предпочтительным методом использования файлов трассировки, что дает им больше возможностей. Вы могли бы проверить те, чтобы увидеть, если есть опция для событий входа в систему, я уверен, что есть. Из того, что я понимаю о них, они каким-то образом исключены из-за снижения производительности.
красивый. Я склонен согласиться с вами. И да, C2 определенно является одной из тех ситуаций, когда требуется только то, что вам нужно.
Томас Стрингер
0
  • проверьте SQL Server и журнал ошибок агента SQL Server
  • проверить состояние зеркальных серверов (основной и зеркальный)
  • проверить изменения времени выполнения заданий
  • проверить активный узел в кластерном сервере sql
  • проверить диск пространство
Alex_L
источник