Научная статья на тему 'ДИСТАНЦИОННЫМ МОНИТОРИНГ СОБЫТИИ, ВЫЗЫВАЮЩИХ СНИЖЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ИНФОРМАЦИОННЫХ И ИНФОРМАЦИОННО-ПОИСКОВЫХ СИСТЕМ'

ДИСТАНЦИОННЫМ МОНИТОРИНГ СОБЫТИИ, ВЫЗЫВАЮЩИХ СНИЖЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ИНФОРМАЦИОННЫХ И ИНФОРМАЦИОННО-ПОИСКОВЫХ СИСТЕМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
11
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
дистанционный мониторинг состояния / удаленное администрирование / целостность данных / механизм блокировок SQL Server / SQL-запрос / iremote status monitoring / remote administration / data integrity / SQL Server locking mechanism / SQL query

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михайлов Владимир Юрьевич, Мазепа Роман Богданович, Вакульчик Ольга Витальевна

Введение: Объектом исследования являются события, случайно или намеренно эксплуатирующие встроенный механизм блокировок SQL Server, которые существенно снижают производительность информационных и информационных поисковых систем. Предмет исследования: дистанционный мониторинг блокирующих процессов. Цель исследования: разработка защищенного метода дистанционного мониторинга, способного оперативно и надежно обнаружить события, вызывающие эксплуатацию встроенного механизма блокировок SQL Server. Методы: Применение мониторинга необходимо для поддержания требуемого уровня производительности системы, а также для оперативного обнаружения воздействий на информационную систему, разрушающих целостность баз данных. Данная статья нацелена на решение основных проблем дистанционного мониторинга: обеспечение полноты оценки состояния и надёжную, оперативную передачу полученных сведений по открытому каналу. Ключевой особенностью предложенного метода дистанционного мониторинга является выявление объектов SQL Server и конструкций языка SQL, применяемых для реализации дистанционного мониторинга с учетом полноты получаемых сведений. Высокая степень безопасности информационной среды дистанционного мониторинга обеспечивается системными средствами реализации авторской клиент-серверной архитектуры. Результаты: показано, что оперативность и безопасность передачи ценных управляющих данных обеспечивается применением хранимых процедур. Известные хранимые процедуры избыточны, поэтому авторам потребовалось создать собственный инструмент мониторинга, что и является главным результатом данной статьи. Результаты исследования могут быть применены при проектировании надёжных и безопасных информационных и информационно поисковых систем различного назначения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

REMOTE MONITORING OF EVENTS THAT CAUSE A DECREASE IN THE PERFORMANCE OF INFORMATION AND INFORMATION SEARCH SYSTEMS

Introduction. The object of research is events that randomly or intentionally exploit the built-in locking mechanism of SQL Server, which significantly reduce the performance of information and information search engines. The subject of the research is the remote monitoring of blocking processes. The purpose of the research is to develop a secure remote monitoring method that can quickly and reliably detect events that cause the operation of the built-in locking mechanism of SQL Server. The use of monitoring is necessary to maintain the required level of system performance, as well as to promptly detect impacts on the information system that destroy the integrity of databases. This article is aimed at solving the main problems of remote monitoring: ensuring the completeness of the assessment of the condition and reliable, prompt transmission of the received information through an open channel. The key feature of the proposed remote monitoring method is the identification of SQL Server objects and SQL language constructs used to implement remote monitoring, taking into account the completeness of the information received. A high degree of security of the remote monitoring information environment is provided by the system means of implementing the author's client-server architecture. It is shown that the efficiency and security of the transfer of valuable control data is ensured by the use of stored procedures. Known stored procedures are redundant, so the authors needed to create their own monitoring tool, which is the main result of this article. The results of the research can be applied in the design of reliable and secure information and information search systems for various purposes.

Текст научной работы на тему «ДИСТАНЦИОННЫМ МОНИТОРИНГ СОБЫТИИ, ВЫЗЫВАЮЩИХ СНИЖЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ИНФОРМАЦИОННЫХ И ИНФОРМАЦИОННО-ПОИСКОВЫХ СИСТЕМ»

doi: 10.36724/2409-5419-2023-15-4-68-74

ДИСТАНЦИОННЫЙ МОНИТОРИНГ СОБЫТИЙ, ВЫЗЫВАЮЩИХ СНИЖЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ИНФОРМАЦИОННЫХ И ИНФОРМАЦИОННО-ПОИСКОВЫХ СИСТЕМ

МИХАЙЛОВ Владимир Юрьевич1

МАЗЕПА

Роман Богданович2

ВАКУЛЬчИК Ольга Витальевна3

Сведения об авторах:

1 д.т.н., Московский авиационный институт (национальный исследовательский университет), Москва, Россия, mihvj@yandex.ru

АННОТАЦИЯ

Введение: Объектом исследования являются события, случайно или намеренно эксплуатирующие встроенный механизм блокировок SQL Server, которые существенно снижают производительность информационных и информационных поисковых систем. Предмет исследования: дистанционный мониторинг блокирующих процессов. Цель исследования: разработка защищенного метода дистанционного мониторинга, способного оперативно и надежно обнаружить события, вызывающие эксплуатацию встроенного механизма блокировок SQL Server. Методы: Применение мониторинга необходимо для поддержания требуемого уровня производительности системы, а также для оперативного обнаружения воздействий на информационную систему, разрушающих целостность баз данных. Данная статья нацелена на решение основных проблем дистанционного мониторинга: обеспечение полноты оценки состояния и надёжную, оперативную передачу полученных сведений по открытому каналу. Ключевой особенностью предложенного метода дистанционного мониторинга является выявление объектов SQL Server и конструкций языка SQL, применяемых для реализации дистанционного мониторинга с учетом полноты получаемых сведений. Высокая степень безопасности информационной среды дистанционного мониторинга обеспечивается системными средствами реализации авторской клиент-серверной архитектуры. Результаты: показано, что оперативность и безопасность передачи ценных управляющих данных обеспечивается применением хранимых процедур. Известные хранимые процедуры избыточны, поэтому авторам потребовалось создать собственный инструмент мониторинга, что и является главным результатом данной статьи. Результаты исследования могут быть применены при проектировании надёжных и безопасных информационных и информационно поисковых систем различного назначения.

2 к.т.н., Московский авиационный институт (национальный исследовательский университет), Москва, Россия, mrb402@mail.ru

3 Московский авиационный институт (национальный исследовательский университет), Москва, Россия, olga.vakulchik@mail.ru

КЛЮЧЕВЫЕ СЛОВА: дистанционный мониторинг состояния, удаленное администрирование, целостность данных, механизм блокировок SQL Server, SQL-запрос.

Для цитирования: Михайлов В.Ю., Мазепа Р.Б., Вакульчик О.В. Дистанционный мониторинг событий, вызывающих снижение производительности информационных и информационно-поисковых систем // Наукоемкие технологии в космических исследованиях Земли. 2023. Т. 15. № 4. С. 68-74. doi: 10.36724/2409-5419-2023-15-4-68-74

Vol. 15. No. 4-2023 H&ES RESEARCH

INFORMATICS, COMPUTER ENGINEERING AND CONTROL

Введение

Автоматизация трудоёмкого процесса хранения, обработки и оперативного предоставления большого объема данных во многих направлениях информационной деятельности базируется на применении электронных баз данных [1]. В совокупности они представляют собой электронное хранилище структурированных данных - базу данных и систему управления базами данных (СУБД), обеспечивающую надежный доступ и оперативное управление данными посредством специальных запросов на языке SQL [2]. В дальнейшем, под базой данных (БД) будем понимать совокупность непосредственно хранилища данных и СУБД.

Корректное и безопасное функционирование информационных систем, использующих базы данных, должно обеспечиваться администраторами и специалистами по информационной безопасности (ИБ). Это специалисты высокой квалификации, потребность в них высока, поэтому не всегда может быть удовлетворена. Тем не менее, некоторые аспекты администрирования, такие как мониторинг состояния сервера [3], могут быть успешно автоматизированы. Одним из направлений такой автоматизации является дистанционный мониторинг состояния удаленной информационной системы и БД. Однако, на этом пути возникают дополнительные проблемы, связанные с присутствием злоумышленника в канале передачи ценной информации. Дистанционный мониторинг должен обеспечивать безопасную передачу как параметров соединения и текстов запросов, так и сведений о состоянии в открытой среде передачи, чтобы злоумышленник не смог получить доступ к удаленному SQL серверу и реконструировать структуру базу данных, а также перехватить ценные данные. Вместе с тем, от системы мониторинга требуется оперативное получение сведений для того, чтобы наиболее эффективно оценить работоспособность информационной среды и вовремя предотвратить возникающие проблемы.

Существует множество событий, которые могут снизить производительность SQL сервера [4-5]. Некоторые из них вызываются некорректной работой встроенных механизмов СУБД. Как известно, целостность хранимой информации обеспечивается механизмом блокировок СУБД, предотвращающим одновременное выполнение противоречивых операций над одними и теми же данными. Однако, долгое удержание запроса и чрезмерное количество блокировок может недопустимо снизить производительность СУБД [6]. Иными словами, требования к обеспечению целостности данных и высокой производительности противоречивы и согласовать их принципиально можно только поиском компромисса. Исходно, границы для поиска компромисса устанавливаются разработчиком СУБД на основании известных только ему условий и требований. Рабочие и, возможно, искусственно созданные злоумышленником запросы к БД могут эксплуатировать указанные границы компромиссного решения. В этих условиях мониторинг критических информационных процессов, имеющих отношение к блокировкам, становится актуальной проблемой. Поиск, разработка метода безопасного дистанционного мониторинга с глубоким и точным, но оперативным анализом блокирующих процессов является актуальной задачей.

Формулировка задачи

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

Данные, содержащие сведения о состоянии SQL Server, можно получить из системных БД, обращение к которым осуществляется с помощью специальных запросов на языке SQL [7]. Среди множества набора средств, предназначенных для мониторинга состояния, стоит выделить

(https://learn.microsoft.com/en-us/sql/relational-databases/ performance/ performance-monitoring-and-tuning-tools):

• системные динамические административные представления (VIEW) [8];

• системные функции;

• системные хранимые процедуры.

Следует отметить, что основным критерием выбора объектов SQL Server является возможность быстро оценить состояние сервера с учетом полноты получаемых данных. В условиях дистанционного мониторинга следует также обеспечить безопасную передачу этих сведений по существующему каналу.

Анализ показал явное преимущество системных хранимых процедур. Они предоставляют запрашиваемые сведения одной командой, в которую на стороне сервера заложены необходимые операторы, недоступные для анализа в канале передачи данных. В этом состоит системный подход к достижению желаемого компромисса ме^ду требованиями обеспечения целостности данных и высокой производительности сервера. Этим достигается сокрытие содержание управляющих действий. Такие хранимые процедуры существуют, однако требуют существенной переработки или замены вследствие того, что были разработаны для решения универсальных задач мониторинга, или просто не отвечают текущим требованиям производительности.

Основой для рассмотрения и сравнительного анализа выбран ряд существующих хранимых процедур, выполняющих задачу мониторинга блокирующих процессов:

• sp who (документированная);

• sp_who2 (недокументированная);

• sp whoIsActive (http://whoisactive.com/).

Хранимые процедуры sp who и sp_who2 основаны на устаревшем способе реализации с использованием системных

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

Аналогичная функциональность с использованием системных динамических представлений присутствует в авторской хранимой процедуре sp whoIsActive. Однако, запрашиваемые сведения для решения поставленной задачи сильно избыточны, что требует дополнительной фильтрации набора критических параметров.

Таким образом, следует создать новую хранимую процедуру, которая основана на рекомендациях от Microsoft с использованием системных динамических представлений и возвращает только необходимые сведения.

Второй задачей является создание или применение наиболее производительного и одновременно безопасного способа дистанционного информационного взаимодействия. Хотя нет оснований полностью отказываться от применения известных способов защиты информации в виде организации закрытого (шифрованного) канала, акцент в данной работе сделан на системных решениях, в частности, на использование высокоуровневых протоколов и многоуровневой клиент-серверной архитектуры. Ожидается, что высокоуровневый протокол обеспечит реализацию взаимодействия клиента с удалённым сервером с помощью высокоуровневых команд, а многоуровневая клиент-серверная система - опосредованное взаимодействие клиента с СУБД через промежуточный специализированный сервер приложений.

Обоснование структуры и состава параметров конструкции запроса

Случившаяся на сервере блокировка удерживает посылаемый запрос, поэтому задача отслеживания блокирующих процессов переходит в задачу оценивания производительности запроса. Для этого будет необходимо и достаточно определить время удержания запроса и реакцию ресурса SQL Server в виде затрат времени центрального процессора (ЦП) на исполнение запроса [9]. Дополнительно, для улучшения качества и оперативности оценки состояния SQL Server, в параметры состояния целесообразно включить тексты блокирующего и заблокированного запросов. Эти параметры позволят провести более точную оценку причин возникновения перегрузки из-за блокировок. Чтобы впоследствии устранить ожидающий запрос, снижающий производительность, следует указывать ID процесса. Логин пользователя позволит выявить подключение ксерверу нежелательного пользователя [10].

В таблице 1 представлены необходимые и достаточные сведения о блокировках, отвечающие текущим требованиям производительности дистанционного мониторинга.

Поле field отображает соответствующее поле системного объекта СУБД, а поле purpose поясняет значение этого поля данных в процессе мониторинга. Так как административный запрос представляет собой хранимую процедуру, то следующим этапом является выбор необходимых системных динамических представлений, которые смогут обеспечить отображение предложенной структуры.

Таблица 1

Структура таблицы для мониторинга блокирующих запросов

№ field data type purpose

1 login nvarchar Логин пользователя

2 Blocking ID smallint ID блокирующего процесса

3 Blocked ID smallint ID заблокированного процесса

4 CPU int Время ЦП, затраченное на выполнение запроса

5 Wait_time_s int Время текущего ожидания заблокированного запроса (сек.)

6 DB sysname Имя базы данных

7 Status nvarchar Состояние процесса. Параметр необходим для фильтрации с использованием конструкции WHERE. Поиск запросов в ожидании.

8 Blocked SQL TEXT nvarchar Текст запроса в заблокированном процессе.

9 Blocking SQL TEXT nvarchar Текст запроса в блокирующем процессе.

Среди существующих динамических представлений, которые заменяют устаревшие системные таблицы, используемые в хранимых процедурах, описанных ранее, полноту возвращаемых данных может обеспечить системное динамическое представление: sys.dmexecrequests (https://learn.microsoft.com/en-us/sql/relational-databases/ system-dynamic-management-views/sys-dm-exec-requests-transact-sql).

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

Созданная конструкция в виде хранимой процедуры с именем spFINDBLOCK помещается в системную базу данных master (https://learn.microsoft.com/en-us/sql/t-sql/statements/create-procedure-transact-sql).

На рисунке 1 представлен результат выполнения данной процедуры в среде Microsoft SQL Server Management Studio в отсутствии блокирующих процессов.

Рис. 1. Тестирование созданного запроса в отсутствии блокирующих процессов

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

Vol. 15. No. 4-2023 H&ES RESEARCH

INFORMATICS, COMPUTER ENGINEERING AND CONTROL

Структура многоуровневой клиент-серверной информационной системы, используемой для тестирования средств удаленного мониторинга

В качестве инструмента для удаленного тестирования созданной инструкции используется авторское клиент-серверное приложение, подробно описанное в работе [11]. Сторона клиента выступает в качестве административной панели с возможностью использования запроса к SQL Server в виде команд на понятном языке пользователю (рис. 2).

»J XML Retnoting

Query: [.сЦЩИЛИЯЯ "Tj Serrote File System

View Response j online

Get con reit ton ¡ Exit, Send message

Рис. 2. Диалоговое окно клиентского приложения

Архитектура клиент-серверного приложения представляет собой четырехуровневую модель Web-дocтyпa к удаленным данным (рис. 3), в которой по сети передаются не сами запросы в виде команд, а их идентификаторы, однозначно отображаемые в запросы на стороне сервера приложений с помощью высокоуровневого протокола.

Рис. 3. Модель WEB-доступа к данным SQL Server

Инструкции SQL хранятся в XML-файле высокоуровневого протокола. Ниже приведена структура одного элемента протокола:

<XMLSQLqMaps>

<id>index</id>

<desc>description</desc>

<query>actual SQL query</query>

<rFile>filename</rFile>

</XMLSQLqMaps>.

Он содержит четыре параметра. Из них пользовательскими являются идентификатор id, словесное описание desc и имя файла rFile, в котором сохраняется полученный ответ. Идентификатор, как указано выше, однозначно отображается на стороне сервера приложений в SQL-запрос query, после чего посылается им на SQL Server по защищенному каналу.

За вход в систему и настройку ее параметров (строка соединения с SQL Server, его расположение в сети, параметры хостирования сервера приложений на Web-сервере и др.) отвечает конфигурационный файл web.config.

Предложенная авторская клиент-серверная система благодаря четырёхуровневой архитектуре и применению

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

Разработка тестовых сценариев блокировок, снижающих производительность SQL Server

Так как блокировки происходят при работе с большим объемом данных и большим количеством пользователей, то для повышения точности результатов тестирования выполнена имитация создания блокировок.

Первый способ принудительного создания блокировки -незавершенная транзакция (рис. 4). Задание инструкции setlocktimeout не требуется, так как по умолчанию параметр принимает бесконечное значение. Пока данная транзакция не будет завершена, любые действия с указанной таблицей будут заблокированы.

INSERT INTO USERS (Name) VALUES ('UserName') ;

UPDATE USERS SET Name='User_l' WHERE Name='UserName' Рис. 4. Создание блокирующей инструкции

Второй способ заблокировать инструкцию - поставить запрос в ожидание с помощью конструкции WAITFOR DELAY 'hh:mm:ss', т.е. выполнить принудительное удержание запроса (рис. 5).

UPDATE TEST set Test='Data_l1 where TestID=l; Рис. 5. Принудительное удержание запроса Оценка эффективности разработанного метода

Ключевыми критериями эффективности использования конечных конструкций для дистанционного мониторинга являются: необходимое и достаточное количество сведений о состоянии (параметров состояния) и минимальное количество передаваемых сведений в самом запросе. Для созданных тестовых сценариев сравним возможности хранимых процедур sp_who2 и sp WhoIsActive в обнаружении блокирующих процессов.

Sp_who2 отображает информацию обо всех процессах, происходящих на сервере, включая системные процессы, активируемые и регистрируемые базой данных master (поле DBName), как показано на рисунке 6. Информация о блокирующих процессах содержится в полях (столбцах таблицы) BlkBy, STATUS и Command. Потенциально наиболее информативным является содержание поля Command, однако в нем отображается только тип запроса (в нашем случае SELECT), а не сам текст запроса. Этих сведений недостаточно для того, чтобы провести полный анализ произошедшей блокировки. Таким образом, в sp_who2 отсутствует возможность просмотра заблокированного процесса, а также полного текста блокирующего запроса. Для выделения блокирующего процесса из всего множества процессов потребуется создание

временной таблицы [12], а это увеличит время обработки запроса СУБД и потребление оперативной памяти.

Рис. 6. Результат выполнения хранимой процедуры эр_"^о2

Сведения, предоставляемые sp_WhoIsActive без фильтрации по умолчанию также объемны, но включают в себя полный текст 80Ь-запроса (http://whoisactive.com/docs/ 19 whvblocked/). как показано на рисунке 7.

Рис. 9. Результат выполнения sp_FINDBLOCK

Как видно, результат выполнения spFINDBLOCK отображается на колонки с префиксами «Blocking» и «Blocked», содержащие потоки блокирующей и заблокированной инструкций, что позволит специалисту выполнить их более глубокий анализ и оценку для более точного выявления причины появления блокировки.

sjj^whoisactive

5 Results @1 Messages

dd hh:mm:ss.mss sessii

1 00 00:19:42.580 65

2 00 00:16:38.420 55

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3 0000:16:16.163 66

sqljext

<?query - WAITFOR DELAY '00:20:10' -?> <?auerv - usetestBasel: insert into Users (U... <?query - seledfrom Users -?>

login_name waitjnfo CPU

sa (1182556ms )WAITFOR

sa NULL

dient! (976140ms)LC K_M_S

Рис. 7. Результат выполнения хранимой процедуры 8р_ЭДЪо18Ас1туе

Результаты исполнения хранимой процедуры 8р_"^о18Асйуе можно отфильтровать, используя параметры, представленные на рисунке 8.

— ■-' J ¡ -.г :(¡гч1 Ь] ■ 1 ^л - - 1 ßoutput_column_liit ' [àà%][ss££ion_id] [lcgin_nams][sql_tsxt] [blockÄ] [CPU] '

U»7. •

• т i i gl Messages

ddhhmnas.mss sesslo »»20:43397 | 5S

DD DD2D23.64D 66 DD DD.D3.43.D4D 65

bpijiane sqljed blod<ing_se

< диегу - u:: >::ti:::" insert Ho Users I'UserNam... NU.L dientl < диегу - select'trom Users : -

за t?auerv - useteslBase2. BEGIN TRANSACTION ... NULL

Рис. 8. Результат фильтрации зр_ШЬо1зАсЙуе

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

Преимущество новой созданной хранимой процедуры 5р_Р1МОВЬОСК перед конкурентоспособной

5Р_"^1ю15Ас11уе - это сокрытие фильтрации сведений о состоянии в условиях дистанционной передачи. Она разделяет поток возвращаемой информации на потоки блокирующей и заблокированной инструкций, для цели более точного последующего анализа специалистом. Оперативность мониторинга достигается путем использования готовой отфильтрованной хранимой процедуры без необходимости дополнительной фильтрации запроса. Результат выполнения созданной хранимой процедуры в клиент-серверном приложении (рис. 9).

Заключение

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

Выполнен сравнительный анализ известных конкурентно-способных хранимых процедур - sp_who, sp_who2 и sp_who!sActive. Показано, что процедуры sp_who и sp_who2 нецелесообразно использовать в качестве основы для создания модифицированной хранимой процедуры из-за устаревшего и нерекомендуемого самим разработчиком способа реализации. Хранимая процедура sp_who!sActive свободна от данного недостатка, но не обладает желаемым набором полезных параметров для достижения полноты мониторинга.

Высокая скрытность чувствительных сведений о структуре БД, достигаемая использованием хранимых процедур, может быть повышена путем их инкапсуляции в высокоуровневый протокол командного взаимодействия, реализуемого авторской клиент-серверной системой дистанционного мониторинга, с помощью которой выполнена детальная и успешная апробация разработанного инструментального средства в виде хранимой процедуры sp FINDBLOCK.

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

Vol. 15. No. 4-2023 H&ES RESEARCH

INFORMATICS, COMPUTER ENGINEERING AND CONTROL

Литература

1. Batra R. A History of SQL and Relational Databases II Pro SQL Primer. Apress, Berkeley, CA, 2018, pp. 183-187. DOI: 10.1007/978-1-4842-3576-8_19

2. Kate A. et al. Conversion of natural language query to SQL query //2018 Second International Conference on Electronics, Communication and Aerospace Technology (ICECA). IEEE, 2018, pp. 488-491. DOI: 10.1109ЛСЕСА.2018.8474639

3. Медведев Ю.С. К вопросу об увеличении производительности базы данных Oracle II Экономическое развитие: состояние, проблемы, перспективы: Сборник статей Международной научно-практической конференции, Пенза, 28-29 июня 2018 года. Пенза: Автономная некоммерческая научно-образовательная организация «Приволжский Дом знаний», 2018. С. 71-75. EDN YMJLKP.

4. Jung J., Hu H., Arulraj J., Kim T., Kang W. APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems (to appear) II Proceedings of the 46th International Conference on Very Large Data Bases (VLDB), Tokyo, Japan, Aug. 2020.

5. Ilic M., Kopanja L., Zlatkovic D., Trajkovic M., Curguz D. Microsoft SQL Server and Oracle: Comparative performance analysis II The 7th International conference Knowledge management and informatics. 2021,pp. 33-40.

6. LaRock T., van de Laar E. Wait Statistics Internals II Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance

in SQL Server and Azure SQL Database. Berkeley, CA : Apress, 2023. pp. 3-25.

7. Zhao Z. et al. T-SQL: A Lightweight Implementation to Enable Built-in Temporal Support in MVCC-Based RDBMSs II IEEE Transactions on Knowledge and Data Engineering, vol. 35,no. l,pp. 1028-1042, 1 Jan. 2023, DOI: 10.1109/TKDE.2021.3081717.

8. LaRock T., van de Laar E. Querying SQL Server Wait Statistics II Pro SQL Server Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database. Berkeley, CA : Apress, 2023, pp. 27-63.

9. Третьяков И.А., Кожекина E.H., Журавлев И.В. Оптимизация SQL-запросов II Вестник Донецкого национального университета. Серия L: Технические науки. № 2. 2021. С. 39-49. EDN RPSKQQ.

10. Fleiner R., Hubert R., Banati A., Erdodi L. Security threats based on critical database system privileges II2022 IEEE 10th Jubilee International Conference on Computational Cybernetics and Cyber-Medical Systems (ICCC), Reykjavik, Iceland, 2022, pp. 000117-000122, DOI: 10.1109ЛССС202255925.2022.9922750.

11. Михайлов В.Ю., Мазепа P.Б. Практикум последовательности дисциплин в форме проектирования системы защищенного информационного взаимодействия в открытых сетях II Информационное противодействие угрозам терроризма. 2015. Т. 2, № 25. С. 161-169. EDN SYZGCX

12. Вакулъчик О.В. Кибербезопасность функционирования информационно-управляющей системы с участием SQL server II Труды МАП. 2022. № 127. DOI: 10.34759/trd-2022-127-13

REMOTE MONITORING OF EVENTS THAT CAUSE A DECREASE IN THE PERFORMANCE OF INFORMATION AND INFORMATION SEARCH SYSTEMS

VLADIMIR YU. MIKHAYLOV

Moscow, Russia

ROMAN B. MAZEPA

Moscow, Russia

KEYWORDS: iremote status monitoring, remote administration, data integrity, SQL Server locking mechanism, SQL query.

OLGA V. VAKULCHIK

Moscow, Russia

ABSTRACT

Introduction. The object of research is events that randomly or intentionally exploit the built-in locking mechanism of SQL Server, which significantly reduce the performance of information and information search engines. The subject of the research is the remote monitoring of blocking processes. The purpose of the research is to develop a secure remote monitoring method that can quickly and reliably detect events that cause the operation of the built-in locking mechanism of SQL Server. The use of monitoring is necessary to maintain the required level of system performance, as well as to promptly detect impacts on the information system that destroy the integrity of databases. This article is aimed at solving the main problems of remote monitoring: ensuring the completeness of the assessment of the condition and reliable, prompt transmis-

sion of the received information through an open channel. The key feature of the proposed remote monitoring method is the identification of SQL Server objects and SQL language constructs used to implement remote monitoring, taking into account the completeness of the information received. A high degree of security of the remote monitoring information environment is provided by the system means of implementing the author's client-server architecture. It is shown that the efficiency and security of the transfer of valuable control data is ensured by the use of stored procedures. Known stored procedures are redundant, so the authors needed to create their own monitoring tool, which is the main result of this article. The results of the research can be applied in the design of reliable and secure information and information search systems for various purposes.

REFERENCES

1. R. Batra, "A History of SQL and Relational Databases". SQL Primer. Apress, Berkeley, CA, 2018, pp. 183-187. DOI: 10.1007/978-1-4842-3576-8_19

2. A. Kate et al., "Conversion of natural language query to SQL query." 2018 Second International Conference on Electronics, Communication and Aerospace Technology (ICECA). IEEE, 2018, pp. 488-491. DOI: 10.1109/ICECA.2018.8474639

3. Yu.S. Medvedev, "To the question about increasing productivity Oracle Database," Ekonomicheskoe razvitie: sostoy-anie, problemy, perspektivy, Penza, 2018, pp. 71-75.

4. J. Jung, H. Hu, J. Arulraj, T. Kim, and W. Kang, "APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems (to appear)," Proceedings of the 46th International Conference on Very Large Data Bases (VLDB), Tokyo, Japan, Aug. 2020.

5. M. Ilic, L. Kopanja, D. Zlatkovic, M. Trajkovic, D. Curguz, "Microsoft SQL Server and Oracle: Comparative performance analysis," The 7th International conference Knowledge management and informatics. 2021, pp. 33-40.

6. T.LaRock, E. van de Laar, "Wait Statistics Internals," Pro SQL Server 2022 Wait Statistics: A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database. Berkeley, CA : Apress, 2023, pp. 3-25.

7. Z. Zhao et al., "T-SQL: A Lightweight Implementation to Enable Built-in Temporal Support in MVCC-Based RDBMSs," IEEE Transactions on Knowledge and Data Engineering, vol. 35, no. 1, pp. 1028-1042, 1 Jan. 2023, DOI: 10.1109/TKDE.2021.3081717.

8. T. LaRock, E. van de Laar, "Querying SQL Server Wait Statistics," Pro SQL Server Wait Statistics": A Practical Guide to Analyzing Performance in SQL Server and Azure SQL Database. Berkeley, CA : Apress, 2023, pp. 27-63.

9. I.A. Tretiakov, E.N.Kozhekina, I.V. Zhuravlev, "Optimizing SQL-queries," Bulletin of Donetsk National University. Series G: Technical Sciences, no. 2, 2021, pp. 39-49.

10. R. Fleiner, R. Hubert, A. Banati and L. Erdodi, "Security threats based on critical database system privileges," 2022 IEEE 10th Jubilee International Conference on Computational Cybernetics and Cyber-Medical Systems (ICCC), Reykjavik, Iceland, 2022, pp. 000117-000122, DOI: 10.1109/ICCC202255925.2022.9922750.

11. V.Yu. Mikhaylov, R.B. Mazepa, "Discipline sequence practice in the form of designing a secure information communication system in open networks", Information counteraction to terrorist threats, 2015, vol. 2, no. 25, pp. 161-169.

12. O.V. Vakulchik, "Cybersecurity of the functioning of the information management system with the SQL Server," Trudy MAI, 2022, no. 127. DOI: 10.34759/trd2022-127-13

INFORMATION ABOUT AUTHORS:

1 Professor, Dr. Sc. (Tech.), Moscow Aviation Institute (National Research University), Moscow, Russia, mihvj@yandex.ru

2 Head the Department, Ph. D., Moscow Aviation Institute (National Research University), Moscow, Russia, mrb402@mai.ru

3 Engineer, Moscow Aviation Institute (National Research University), Moscow, Russia, olga.vakulchik@mail.ru

For citation: Mikhaylov V.Yu., Mazepa R.B., Vakulchik O.V. Remote monitoring of events that cause a decrease in the performance of information and information search systems. H&ES Reserch. 2023. Vol. 15. No. 4. P. 68-74. doi: 10.36724/2409-5419-2023-15-4-68-74 (In Rus)

i Надоели баннеры? Вы всегда можете отключить рекламу.