
Решаем задачи автоматизации
На базе программ 1С
И собственных решений
А потом обслуживаем
По разумным ценам
Оценка и выбор серверов для обеспечения максимальной скорости работы и отказоустойчивости 1С.
Время выполнения отчетов – один из ключевых показателей успешности внедрения 1С. Учитывая, что все отчеты строятся на основе выполнения запросов к базе данных, длительность работы запросов – ключевой показатель. Далеко не всегда время работы устраивает пользователей со стороны заказчика, поэтому администраторам приходится оптимизировать проблемные участки. Чтобы их найти в коде, можно использовать такой инструмент, как SQL Profiler.
В 1С запросы пишут на встроенном языке, который очень похож на SQL. В процессе работы текст запроса конвертируется в стандартный SQL-запрос и выполняется на стороне СУБД. И иногда, чтобы понять, в чем проблема, разработчику 1С нужно смотреть именно на SQL-версию своего запроса. Многие разработчики используют для этого такой инструмент, как MS SQL Profiler.
С его помощью программист сможет оценить схему SQL-запроса и его длительность, и найти проблемные места. Также есть возможность отфильтровать нужные вам данные – по чрезмерной длительности выполнения, имени таблицы и другим критериям. Информацию можно представить не только в виде текста и таблиц, но и с помощью наглядной графики. Найти этот инструмент можно в MS SQL Server – как одну из многочисленных опций программного обеспечения по управлению базами данных.
Естественно, использовать эту возможность смогут только владельцы клиент-серверных баз. Если же у вас используется файловая, то в качестве замены можно посоветовать технологический журнал от 1С. Конечно, он не настолько удобен и вариативен, но при должных навыках и из него можно узнать всю нужную информацию. Для этого понадобится достаточная квалификация, знания и мощное оборудование, так как запуск технологического журнала потребует приличных ресурсов.
Чтобы открыть MS SQL Profiler и начать работу с базами данных, надо запустить MS SQL, в открывшемся окне, в меню «Сервис» найти нужное приложение и открыть его. По щелчку откроется еще одно окно с просьбой указать сервер, где находятся наши клиент-серверные базы данных. Вы можете подключаться к нескольким серверам и разбираться в структуре их запросов к SQL.
В терминологии SQL-процесс записи и последующего просмотра событий называется «трассировкой». Именно поэтому после указания данных сервера БД и логина с паролем откроется окно со свойствами трассировки. Наиболее интересной и значимой для нас является закладка «Выбор событий», поскольку там настраивается, что мы хотим видеть в трассировке.
Чтобы не перегружать сервер и не занимать лишнее пространство на диске, нужно грамотно отфильтровать необходимые события. Несмотря на текстовую подсказку, разъясняющую суть столбца и строки, для оптимального результата нужны определенные знания. Также можно воспользоваться опытом других людей, чем мы и воспользуемся, проставив галки напротив следующих событий:
После сделанной настройки мы сможем увидеть все запросы для всех баз данных, зарегистрированных на указанном сервере. Чтобы исследовать данные конкретной базы, необходимо настроить фильтры для выбранных событий. С помощью кнопки на форме настроек «Фильтры столбцов…» укажем следующие свойства нашей трассировки:
Возможностей намного больше, и если необходима дополнительная настройка – воспользуйтесь подсказками MS SQL Server Profiler, отображающимися в этом же окне. После вышеперечисленных этапов настройки остается только воспользоваться кнопкой «Запустить» и наблюдать за отображением процессов. Окно трассировки разделено на 2 части: в верхней перечисляются события и их характеристики, а в нижней – дополнительная информация.
Для тестирования трассировки откроем консоль запросов на базе, на которую настроен MS SQL Profiler, и выполним простейший запрос. В окне трассировки отражаются все запросы, подходящие по условиям фильтров, и среди них нужно найти наш запрос. Поможет в этом нижняя часть окна трассировки, где и будет находиться запрос на языке SQL, найдя который, мы можем получить следующую информацию:
Если вы перейдете на вышестоящую строку, то в нижней половине перед вами будет графическая схема выполнения запроса. Еще одна вышестоящая строка покажет вам текстовый план выполнения запроса на SQL. Эти данные, как и всю трассировку, можно сохранить в файл для последующего открытия и анализа. Отдельные данные с помощью контекстного меню и функции «Извлечь данные события», а целиком через меню «Файл» - «Сохранить как».
В высоко нагруженных базах бывает очень сложно отследить выполнение своего запроса. Для этого предусмотрены механизмы остановки, паузы и запуска трассировки, чтобы в окно попадали только нужные нам запросы. Они расположены в основном меню или в самом окне трассировки. Также предусмотрена возможность очищать окно вывода информации – используется кнопка в виде стиральной резинки.
MS SQL Profiler содержит в себе обширные возможности для нахождения запросов, серьезно сказывающихся на быстродействии 1С и других систем. Научившись работать с ним однажды, вы будете способны находить проблемные места в любых системах, работающих с базами данных SQL. MS SQL достаточно распространена, и подобные навыки будут по достоинству оценены работодателями.
Подпишитесь на рассылку и получайте самые свежие статьи 1 раз в месяц специально для вас