Мне не удалось найти причину root, но я публикую то, что помогло мне разблокировать, так что, надеюсь, это поможет другим в будущем.
По какой-то причине все формы аутентификации (кроме Админ сервера AAD) на этом сервере не работал. Таким образом, не только сбой аутентификации пользователя, назначенного идентификатором (который описан в вопросе выше), но и содержал пользователь auth не удалось. Удаление назначенного пользователю идентификатора из базы данных и повторное добавление не сработало:
DROP USER [<Name of user assigned identity>];
CREATE USER [<Name of user assigned identity>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<Name of user assigned identity>];
ALTER ROLE db_datawriter ADD MEMBER [<Name of user assigned identity>];
Аналогичным образом удаление содержащегося пользователя и воссоздание тоже не сработали.
DROP USER [ContainedUser];
CREATE USER [ContainedUser] WITH PASSWORD='******';
ALTER ROLE db_owner ADD MEMBER [ContainedUser];
Я также заметил что вторичный (то есть реплика) работает нормально и auth работает против него. В общем, я пришел к выводу, что что-то не так с моим основным, но не уверен, что именно.
Итак, я решил воссоздать базу данных:
- Я переключился на резервный.
- Удалите ссылку репликации, а затем удалите плохой сервер. (просто удалить базу данных и выполнить остальные шаги, приведенные ниже, было недостаточно, я все же попробовал)
- Восстановил сервер.
- Перенастроена репликация, чтобы база данных была создана на новом сервере как вторичный.
- Произведено еще одно аварийное переключение, чтобы вновь созданная база данных стала первичной.
- Вся аутентификация работала нормально.