Я создаю механизм SQL (в MSSQL 2005), который позволяет только одному пользователю одновременно устанавливать поле в определенной таблице. Если это поле установлено, никто больше не сможет его очистить (установите в NULL). Если нет, это поле установлено на something unique for the user's session
. Как хороший кандидат master.dbo.sysprocesses.sid
ищет меня, но я не уверен в этом.
Мне нужно убедиться, что при сбое клиентского приложения пользователя (которое будет использовать этот механизм) поле будет очищено, чтобы другие пользователи могли его использовать. Я думаю о некотором задании очистки, которое проверит, активен ли еще сеанс пользователя, который установил это поле, а если нет, то очистит его (конечно, только когда поле не NULL).
Существует ли уникальный столбец в процессах master.dbo.sys для каждого сеанса пользователя без повторного использования того же значения в дальнейшем?
Большое спасибо