пятница, 2 сентября 2016 г.


Информация о дисках в SQL Server

По мотивам статьи: https://www.mssqltips.com/sqlservertip/2444/script-to-get-available-and-free-disk-space-for-sql-server/



Проблема

Часто мы сталкиваемся с ситуацией, когда нужно узнать общий размер и свободное место на всех дисках в системе (в т.ч. LUN/Mount устройства). Расширенная хранимая процедура XP_FixedDrives не может помочь в таком случае (вернёт только свободное место на фиксированных локальных дисках), и обычно для решения нам приходится заходить на сервер (по RDP) и проверять интерактивно общий размер и свободное место на дисках. В этой статье будет показано как решить такую задачу прямо в SQL Server, используя Powershell командлеты. В самом конце будет представлена моя процедура usp_GetDrives2, которая возвращает полную информацию о дисках на сервере.

среда, 27 июля 2016 г.

Возможности логгирования для заданий SQL Server Agent

По мотивам статьи: http://sqlmag.com/blog/semi-advanced-logging-options-sql-server-agent-jobs


Многие администраторы БД (и я в их числе) серьёзно полагаются на задания (Jobs) SQL Server Agent для решения разнообразнейших задачек - всё от однообразного (обязательного) обслуживания и проверки ошибок в базах данных до регулярного выполнения сложных бизнес-логик или всесторонних операций Иморта/Экспорта.

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

среда, 17 февраля 2016 г.

Интервью с DBA

Контрольный список вопросов для технического собеседования DBA SQL Server. Планируется постоянно расширять и обновлять список. 
При ответе на 8 из 10, можно считать кандидата успешным. При ответе на 19 из 20 - перед вами гуру :)

1. Напишите простую команду для бэкапа базы master
  
BACKUP DATABASE master
 TO DISK = 'путь к файлу бэкапа'

2. Где сохраняется информация о выполненных бэкапах?
  
В системной базе данных msdb

3. Какие системные базы данных Вы будете бэкапить?
   
Обязательно master и msdb.
Также можно базу model, если её сильно изменили - забэкапить 1 раз после изменений.

понедельник, 9 ноября 2015 г.

sys.dm_os_wait_stats

Вольный перевод статьи Тима Форда. Оригинал статьи находится здесь: https://www.mssqltips.com/sqlservertip/1949/sql-server-sysdmoswaitstats-dmv-queries/

 Проблема

Я был сильно разочарован,попытавшись установить причину, когда пользователи обращаются ко мне и говорят "база тормозит!". Запуск PerfMon и Profiler оказался неэффективным. Раньше я всегда начинал поиск проблемы, используя эти инструменты. А у Вас есть какие-нибудь предложения для быстрого определения причины, если видны проблемы на CPU, Памяти или Диске? И эти решения не должны стать поиском иголки в стогу сена, как это бывает с PerfMon и Profiler.

Решение

Есть определенно лучший способ для быстрых разбирательств с "тормозами базы", именно на этот способ и стоит потратить свое экспертное время. Кстати, этот способ связан с моей любимой темой по SQL Server: Dynamic Management Views (DMV). Существует определенная DMV с помощью которой вы можете быстро найти первоисточник проблемы CPU, Памяти или Диска: sys.dm_os_wait_stats.

пятница, 23 октября 2015 г.

Инструкция по восстановлению системных БД на сервере SQL Server






После неприятных событий ... (выход из строя SSD диска, а затем и контроллера дисков на одном из серверов БД) у меня родилась мысль, что нам нужна чёткая инструкция по восстановлению работоспособности системных БД (а значит и всего сервера БД).
Теперь у нас есть такая инструкция!
Отличительные особенности этой инструкции:
1) все операции были проверены на тестовой виртуальной машине с установленным SQL Server 2008;
2) к каждому разделу прикреплены полезные ссылке по теме на официальный ресурс msdn.