SQL-Мониторинг в консоли PowerShell {Онлайн}

05.08.20

Администрирование - Мониторинг

Скрипт PowerShell, который поможет увидеть/наблюдать происходящее на серверах СУБД (для MSSQL).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
SQL-Монитор
.zip 21,11Kb
20 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Идея такая: Запускаешь и смотришь. ВСЁ! Смотришь своими глазами. Не глазами PRTG, ZABBIX и прочих систем, они тоже присутствуют и молодцы, но не о них сейчас... И хорошо, когда наблюдение ведешь на отдельном экране. И совсем идеально, когда на отдельном компе (с отдельным же экраном!). Можно так же выводить на общий монитор или телевизор в кабинетах групп поддержки, разработки, дежурных смен и т.д. И бывает что судорожно-срочно нужно ответить руководству "что там у нас происходит на серверах"? Да, на всех и сразу. Чтобы иметь мгновенное представление, пускай в первом приближении, обзавелся таким скриптом.

В скрипте присутствует интерактивное меню, помогающее выбрать параметры мониторинга. Есть параметры, которые задаются только аргументами командной строки:

 -Refresh <n>: Период запуска обновления, в секундах. Указывается в диапазоне от 3 до 600. Период обновления иначе. НО следует понимать, что опрос серверов выполняется последовательно, и в случае, когда вы собираетесь наблюдать за большим количеством инстанций, то реальный период обновления будет складываться из всех времён, затраченных на опрос этих инстанций. Например: наблюдаем 10 инстанций, и на опрос каждой тратится около 0,5 сек, тогда реальный период опроса будет ~8 секунд (при параметре -Refresh 3).   Совет: при большом количестве инстанций устанавливайте меньшие значения этого параметра. По умолчанию период равен 15 секундам.

SQL_Monitor.ps1 -Refresh 3

-Select: Включает режим выбора площадок. Эммм. У нас в организации несколько площадок. Разные назначения, платформы, масштабы, охваты и тд,.. Каждая площадка имеет свой шифр/код, и это обычно 3 символа. В каждой площадке есть Продуктив и "всё остальное", т.е. разработка и тестирование. У нас площадки: FHD (бухгалтерия), ENB (биллинг), NVD (торговля), LK (личный кабинет) и т.д.  По-хорошему, следовало бы разделить мониторинг по этому признаку "продуктив-или-тест", но пока без него. Нам и так хорошо). Итак, если данный параметр указан при запуске, то меню выбора площадки для мониторинга станет множественным. С ним можно одновременно выбрать более одной площадки. Без указания этого параметра - мониторим одну площадку или сразу все (в меню появляется пункт "ALL").

SQL_Monitor.ps1 -Select

Сразу после запуска скрипта появляются несколько меню (друг за другом):

вот как выглядит меню без параметра select:

а вот как с параметром select:

Далее следует выбрать продолжительность мониторинга в минутах, 4 варианта: "Бесконечно, 10, 30, 60"

Кстати, отдельный скрипт для таких менюшек я выкладывал, в данной публикации он обновлен и встроен в _CommonFunctions.min.ps1. В этом файле много чего собрано, пользуйтесь на здоровье ;-)

Конечно, все предлагаемые на выбор параметры прописаны в скрипте, в виде обыкновенных списков или массивов значений. Можете отредактировать своими преференциями! ;Ъ

Естественно, необходимо настроить под свой ландшафт переменные, они определены в коде.

$global:_txt_land    = ("FHD","ENB","NVD","RDS","LK","KC","IRK") - список площадок

$_arr_sql_instances - массив SQL-инстанций, 

где Первая колонка - это DNS-имя хоста и/или инстанса, (именно инстанса, т.е. можно указывать имя_хоста\имя_инстанса), но в большинстве случаев достаточно DNS имени СУБД хоста. Вторая колонка - это имя площадки, к которой принадлежит инстанс, заполняется значениями из $global:_txt_land. Или наоборот, значения в списке _txt_land должны коррелировать со значениями второй колонке массива инстансов, ну вы поняли. Третья колонка - это тип инстанса: продуктив или тест, пока не влияет ни на что - задел на будущее.

 

Ниже скриншот, на котором выполняется бесконечный мониторинг, площадки "ENB", с интервалом в 15 секунд.

в "шапке" 1 - выбранная площадка; 2 - когда запущен, когда будет остановлен, интервал обновления; 3- легенда, по которой осуществляется раскраска строк. Сортировка строк выполнена по полю продолжительность, по убыванию. 4 - список инстанций, с временами работы запроса по каждой. Имеет свою "раскраску" по времени ответа, попробуйте разгадать)

5 - Главное, ради чего запускается скрипт. Текущие запросы на СУБД в момент его опроса, то чем занят СКУЛЬ.

Колонки тут следующие:

Progress % - Процент (прогресс) выполнения запроса. MSSQL выдаёт такую информацию по некоторым командам (архивирование, восстановление, команды DBCC и т.д.), остальные остаются чёрными, у них процент всегда пустой.

[X] - пока не функционально, для будущих версий.

Instance - Имя инстанса. Кривая стрелочка означает, что инстанс тот же, просто помогает визуально разделить инстансы с похожими именами...

spID - идентификатор процесса выполняемого запроса.

Blckr - блокирующий spID, он мешает текущему запросу выполниться.

User - имя пользователя, выполняющего запрос.

DB name - база данных, в контексте которой выполняется запрос.

Command - команда, тип, статус. всё через "или".

Duration - длительность этого запроса. ЧЧ:ММ:СС.мс, после 24 часов - сбрасывается на ноль.

~Estimated end - ожидаемое (прогнозируемое) время завершения запроса. как и Progress %, заполняется не для всех запросов. хоть и очень полезное.

Query (trimmed) - несколько первых букв текста запроса/команды/батча/скрипта/...называйте_как_хотите...  и (trimmed) - говорит что запрос "подстрижен".

Имейте в виду, что все поля, содержащие строки чрезмерной длины будут подрезаны до определенных значений. это сделано чтобы такие строки не "сбивали строй" у таблицы. На скриншоте: вторая строка снизу, значение поля "User" подрезано и добавлен знак "~".

Скрипт поочередно выполняет опрос выбранных СУБД с помощью PS командлета "Invoke-SQLcmd", поэтому нужно убедиться в наличии "SqlServer" среди установленных модулей (команда "Get-Module"). В случае отсутствия, установить его можно с помощью команды "Install-Module -Name SqlServer".

Подключение к инстанциям SQL происходит со встроенной авторизацией Windows, поэтому, не забывайте наделять необходимыми ролями и предоставлять права той учетной записи, под которой выполняется запуск скрипта.

Совет: в настройках окна PowerShell используйте точечный шрифт 5х12, иначе окно может не поместиться в монитор.

В архиве три файла, общие функции, скрипт для псевдографики, и сам запускающий мониторинг скрипт. Прошу!

Обоснованная критика приветствуется.

... всех С Наступающим 2020!

Обновление:

добавлен интерфейсный параметр запуска -lang, имеет два значения "en" (по-умолчанию) и "ru". 

Вступайте в нашу телеграмм-группу Инфостарт

мониторинг наблюдение процесс SQL MSSQL monitor

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    92451    69    44    

77

Журнал регистрации Мониторинг Системный администратор Разработчик 1С 8.3 Абонемент ($m)

Мониторинг журнала регистрации - расширение, которое визуализирует ошибки из журнала регистрации в разрезе приложений. Расширение позволит выявить всплеск ошибок, подсветит динамические обновления и покажет картину рабочего процесса.

1 стартмани

07.11.2026    493    3    mrcamomile    8    

4

Мониторинг Сервера Системный администратор 1С 8.3 Бесплатно (free)

Шесть блоков технического отчёта по кластеру 1С: площадка, процессы, нагрузка, диск, копии, журналы за названный период — и открытые вопросы. Цифры из двух реальных прогонов на Windows Server 2019 (srvinfo 119 ГБ, 444 бэкапа и ни одного по нужной базе, висящий сеанс с лицензией). Что собирать, чего не делать, и где агент ошибся.

02.11.2026    379    netbka    1    

1

Журнал регистрации Инструменты администратора БД Технологический журнал Мониторинг Системный администратор Разработчик 1С 8.3 1С 8.5 1С:Управление торговлей 11 Абонемент ($m)

Расширение для любой конфигурации на БСП: замеры, ошибки, задания, обмены, блокировки, диски, сеансы и техжурнал в одном окне, с уведомлениями в Telegram и на почту.

3 стартмани

19.10.2026    528    6    windsurf    0    

3

Мониторинг Системный администратор Абонемент ($m)

Небольшая программа для рабочих мест и серверов: следит за выбранными службами Windows (сервер 1С, СУБД, УТМ, лицензии) и сама запускает их, если служба остановилась или зависла. Полная редакция вдобавок не даёт пользователям запускать программы не из списка разрешённых или из списка запрещённых.

1 стартмани

08.10.2026    464    4    IronCAT09    0    

1

Мониторинг Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Отложенное обновление идёт третий день, штатная форма пишет "Выполнено: N из M", и непонятно, ждать или разбираться. Проверьте у себя: в БСП 3.1 почасовая история обработанных объектов, время завершения каждого обработчика, попытки и текст ошибки уже лежат в регистрах, не хватает только деления. Разобрал, где это хранится, как считать прогноз двумя скоростями (по объектам и по обработчикам) и как найти обработчик, который держит очередь, в том числе когда БСП записала ему "зацикливание", а держала его блокировка. Проверено на копии УТ 11.5 с 215 настоящими обработчиками типовой: очередь шла 4 часа, прогноз за 2 часа до конца ошибся на 5 минут. В конце обработка, которая отвечает одной строкой.

30.09.2026    903    nedomolkov.ivan    0    

1

Мониторинг Обновление 1С Системный администратор Разработчик 1С 8.3 Абонемент ($m)

Внешняя обработка одной строкой говорит, идёт отложенное обновление или стоит, когда закончится и какой обработчик держит очередь. Скорость по почасовой истории БСП и по завершённым обработчикам, остаток по плану обмена обновления, виновник по регистру обработчиков и журналу регистрации. Выгрузка состояния в Markdown для нейросети. Только чтение. Нужен регистр "Обработчики обновления" из свежих версий БСП 3.1 (проверено на УТ 11.5.22).

10 стартмани

30.09.2026    564    0    nedomolkov.ivan    0    

0

Мониторинг Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Регламентное задание включено, расписание заполнено, ошибок в журнале регистрации нет, а данные не приходят. Проверьте у себя форму "Регламентные и фоновые операции": если в колонке результата пусто, это не значит, что всё хорошо, это значит, что задание не запускалось. Мы собрали стенд на копии рабочей УТ 11.5 и прошли все места, где задание застревает до своего кода: флаг блокировки на кластере, признак копии базы у БСП, пользователь в карточке задания, функциональная опция, расписание, которое не наступит. У каждого места код проверки. Самое неприятное подтвердилось на платформе 8.3.27: задание под пользователем, которого нет в базе, не оставляет в журнале регистрации ни одной строки. Плюс как по журналу отличить ручной запуск от запуска сервером и как увидеть задание, которое работает вхолостую.

30.09.2026    1084    nedomolkov.ivan    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 317 30.12.19 17:08 Сейчас в теме
В каждую хрень надо добавить это дурацкое слово "online".
Типа, это слово несет информативную нагрузку.

Наблюдение итак собой подразумевает в текущем времени.
2. ddens 170 31.12.19 02:32 Сейчас в теме
(1)да да, в любой непонятной ситуации добавляйте слово "online" в заголовок...
3. qwertehok1 31.12.19 09:24 Сейчас в теме
давно уже придумали sp_whoisactive
Aleksey.Bochkov; YPermitin; +2 – Ответить
6. user612295_death4321 02.01.20 22:18 Сейчас в теме
(3) Да, наверное самая удобная штука, что я юзал. Позволяет покрыть наверное процентов 85% проблем )
YPermitin; +1 – Ответить
8. ddens 170 09.01.20 02:46 Сейчас в теме
(3) никогда не понимал таких комментаторов. По-вашему других средств быть не может? По-вашему: "придумало человечество колесо и всё! Первое деревянное, скрипучее, недолговечное, но ведь ехало и поедет сейчас... Зачем придумали какие-то подшипники? подшипники трения, скольжения, роликовые, шариковые, двурядные, сборные, конусные, упорные... нафига всё это??? вот же глупое человечество, ведь давно уже придумали колесо"
так по-вашему?)))

Конечно, я не сравниваю sp_whoisactive с деревянным колесом, и ни чуть не умаляю достоинств ни одного ни второго, и, конечно же, не ставлю свой скрипт в замену. Просто говорю, что можно еще вот так вести интерактивное наблюдение за протекающими запросами на ваших серверах. Право выбора остаётся за вами.
Pependos; +1 – Ответить
11. Dansur 262 05.08.20 12:51 Сейчас в теме
(8) а выбор реализации на Powershell с псевдографикой не деревянное ли колесо у Вас?
4. пользователь 31.12.19 20:07
5. user1335935 31.12.19 20:41 Сейчас в теме
Поздравляю, Вы "изобрели" sqlblocks XD
YPermitin; +1 – Ответить
7. ddens 170 09.01.20 02:24 Сейчас в теме
(5) я вас тоже поздравляю, вы "изобрели" только этот коммент.
baltbereg; +1 – Ответить
9. user1274438 09.01.20 11:55 Сейчас в теме
мда...
Первое деревянное, скрипучее, недолговечное...

Если тут проводить аналогию с деревянным колесом, то у автора подшипники сплетены из веток ивы (или типа того), и название им "шариковы", но отнюдь не шариковые.
10. ddens 170 09.01.20 17:08 Сейчас в теме
12. user1839674 08.09.22 03:21 Сейчас в теме
ребята нету тут ничего, и не скачаете, это обман зрения
13. ddens 170 09.09.22 05:02 Сейчас в теме
(12) где пруф? или просто так ляпнул?
Для отправки сообщения требуется регистрация/авторизация