Многие, если не большинство приложений, могут отображать результаты запросов SQL в каком-либо удобочитаемом формате. Тем не менее, они, как правило, либо должны быть открыты с активным окном (например, SSMS или Excel, оба из которых занимают значительные системные ресурсы на локальном компьютере), либо включают дополнительные отчеты, генерирующие служебные данные (хороший пример - SSRS). Моя платформа - сервер Microsoft SQL. С SSMS также существует проблема, заключающаяся в том, что вы должны найти правильный запрос, открыть окно и нажать «Выполнить».

Какой метод вы бы использовали, чтобы просто выполнять запросы только для чтения с произвольным содержимым (это могли быть хранимые процедуры, динамические запросы, CTE и т.д.) Как можно быстрее? Формат отображения может быть весьма минимальным (простая таблица практически без изменений форматирования) с агрегированными данными, которые не должны превышать очень небольшой набор записей (в среднем, конечно, менее 1000 записей).

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

Вот хороший пример того, чего я пытаюсь избежать:

Мне нравится часто проверять количество пользователей, вошедших в систему, запрашивая таблицу, которая отправляет не более 10 записей. На самом деле это займет менее одной секунды, чтобы просмотреть эти результаты. Однако, поскольку он хранится в отчете SSRS, я должен перейти на веб-сайт и пройти процедуру генерации отчета, которая, вероятно, займет у меня 15-40 секунд. Я хотел бы предоставить пользователям способ мгновенного просмотра данных. Как бы вы достигли этого?

1 ответ1

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .