Удобные инструменты для извлечения данных из базы данных SQL Server - PullRequest
4 голосов
/ 06 октября 2010

У нас есть несколько баз данных SQL Server, содержащих измерения от созданных нами генераторов. Однако эти полезные данные доступны только нескольким инженерам, поскольку большинство из них не знакомы с SQL (включая меня). Существуют ли какие-либо инструменты, позволяющие инженеру извлекать выбранные подмножества данных для анализа их в Excel или другой среде? Идеальный инструмент

  1. защита базы данных от любых случайных изменений,
  2. не требует знаний SQL для извлечения данных,
  3. очень прост в использовании, например, с графическим интерфейсом для выбора полей и выбранного диапазона времени,
  4. разрешить экспорт значений данных в файл, который может быть прочитан в Excel,
  5. не требует участия / ввода от менеджера базы данных для запуска задачи извлечения, и
  6. Легко для новичка в настройке менеджера баз данных.

Спасибо за любые рекомендации или предложения.

Ответы [ 4 ]

3 голосов
/ 06 октября 2010

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

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

Наши пользователи знакомы с Excel, поэтому я создаю хранимую процедуру с достаточным количеством параметров для фильтрации / настройки, и они могут легко вызвать ее, используя что-то вроде:

EXEC YourProcedureName '01/01/2010','12/31/2010','Y',null,1234

Я точно документирую, что делают параметры, и, как правило, они хороши.

Чтобы настроить запрос Excel, вам необходимо настроить источники данных на ПК пользователя (панель управления - источники данных - odbc), которые будут немного различаться в зависимости от вашей версии Windows.

В Excel вам нужно настроить «запрос», который является просто командой EXEC сверху. В зависимости от версии Excel, это должно быть что-то вроде: меню - данные - импорт внешних данных - запрос новой базы данных. Затем выберите источник данных, подключитесь, пропустите средство создания диаграмм и введите приведенный выше SQL. Кроме того, не пытайтесь заставить одну процедуру делать все, создавать разные в зависимости от того, что они делают.

Как только данные попадают на лист Excel, наши пользователи переносят их на другие листы и манипулируют ими по своему желанию.

Некоторые пользователи немного продвинуты и «пытаются» написать свой собственный SQL, но это боль. Я заканчиваю отладкой и исправлением их некорректных запросов. Кроме того, как только вы исправите запрос, они всегда возятся с ним и ломают его снова. использование хранимой процедуры означает, что они не могут ее изменить, и я могу поместить ее вместе с другими нашими процедурами в хранилище исходного кода.

1 голос
/ 06 октября 2010

Я бы порекомендовал вам создать свой собственный в Excel. Excel может делать запросы к вашей базе данных SQL Server через соединение ODBC. Если вы все сделаете правильно, конечный пользователь должен сделать немного больше, чем нажать кнопку «получить данные». Затем они получают доступ ко всем возможностям графического интерфейса Excel для просмотра данных.

0 голосов
/ 07 октября 2010

В зависимости от вашей версии SQL-сервера, я бы посмотрел некоторые из превосходных инструментов самообслуживания BI с более поздними выпусками, такими как построитель отчетов. Это похоже на урезанную версию Visual Studio со всеми сложными битами и только простыми отчетными битами.

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

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

0 голосов
/ 06 октября 2010

Excel позволяет загружать вывод хранимых процедур прямо во вкладку. Этот IMO - лучший способ: пользователям не нужно знать SQL, они просто вызывают процедуру, и нет никаких движущихся частей, кроме Excel и вашей базы данных.

...