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