Кто-либо использует Сервисного Брокера в SQL Server? [закрытый]

Вы не назвали столбец func.max(), поэтому нет имени для использования в качестве ключа в результирующем словаре. Столбцы функции агрегирования не называются автоматически даже при объединении одного столбца; то, что вы основали этот столбец на столбце time_end, здесь не имеет значения.

Дайте этому столбцу метку:

latest_projects = db.session.query(
    func.max(Project.time_end).label('time_end'),
    Project.analyst
).group_by(Project.analyst)

Демонстрация:

>>> latest_projects = db.session.query(
...     func.max(Project.time_end).label('time_end'),
...     Project.analyst
... ).group_by(Project.analyst)
>>> for row in latest_projects.all():
...     print (row._asdict())
...
{'time_end': datetime.datetime(2018, 11, 21, 14, 55), 'analyst': 'Bob'}
{'time_end': datetime.datetime(2016, 9, 6, 1, 35), 'analyst': 'Fred'}
{'time_end': datetime.datetime(2017, 10, 21, 8, 0), 'analyst': 'Jane'}
22
задан 2 revs 10 December 2009 в 13:27
поделиться

4 ответа

Я использовал Сервисного Брокера SQL с тех пор спустя несколько месяцев после SQL, 2005 был выпущен. Мы используем его без остановок здесь передающие сотни тысяч сообщений через него в день.

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

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

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

я даже использовал Сервисного Брокера, чтобы сделать ETL от базы данных OLTP до базы данных OLAP для оперативного создания отчетов.

Большинству людей (особенно DBAs) не нравится Сервисный Брокер, потому что нет никакого UI для него. Если Вы хотите использовать сервисного брокера или видеть то, что его выполнение необходимо на самом деле записать и выполнить некоторый T/SQL.

24
ответ дан EBarr 29 November 2019 в 04:40
поделиться

Я использовал SB в 2005 в течение приблизительно двух лет теперь с одной реализацией, обрабатывающей несколько сотен тысяч сообщений в день. Я сказал бы, что самая сложная задача была не так в архитектуре, но понимающий все включенные нюансы. Документация от Microsoft плоха с очень немногими практическими примерами. блоги Remus Rusanu действительно были полезны в выполнении вещей как диалоговая настройка хранимой процедуры повторного использования и активации. Я нашел, что это ДЕЙСТВИТЕЛЬНО важно для диалоговых окон повторного использования как можно больше (и работающий посредством всей связанной блокировки, связанной с тем), а также обработка нескольких полученных сообщений как набор, а не по одному.

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

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

я использовал бы его снова и продолжу использовать его.

12
ответ дан EBarr 29 November 2019 в 04:40
поделиться

Я недавно рассмотрел использование Сервисного Брокера для проекта, но да, решил пойти для MSMQ вместо этого.

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

Насколько я понимаю, SB только работает на SQL к коммуникации SQL, таким образом, нам был бы нужен экземпляр SQL на каждом кластеризованном поле. Мы чувствовали, что это было немного ненужным, следовательно с помощью MSMQ

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

2
ответ дан Paul Nearney 29 November 2019 в 04:40
поделиться

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

Мой опыт работы с SB показал, что правильная настройка может быть несколько «неудобной», и, как вы упомянули в своем вопросе, трудно получить обзор состояния SB, потому что нет единого инструмента мониторинга.

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

5
ответ дан 29 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: