Это может быть проблема с базами данных Azure, но я надеюсь, что есть решение.
При создании базы данных SQL в Azure на сервере есть учетная запись администратора SQL, которая настроена в этомслучай, вручную через портал при инициализации.Это может быть только пользователь, прошедший проверку подлинности SQL.
И, конечно, у меня также есть группа / пользователь AAD, настроенная в качестве администратора AD.
Я также настроил автоматическое развертывание с использованием SSDT,Проблема возникает, когда я пытаюсь зарегистрировать DACPAC как часть развертывания, но только после первого развертывания, если я использую учетную запись AD для развертывания.Он пытается обновить зарегистрированное приложение уровня данных, но получает сообщение о том, что оно уже существует.Если вместо этого я развернусь с пользователем SQL Admin, прошедшим проверку подлинности SQL, то он будет успешно развернут.
По нескольким причинам я хочу выполнить развертывание с использованием учетной записи AD, не в последнюю очередь для создания других пользователей AD., чего не может сделать пользователь, прошедший проверку подлинности SQL.
В процессе некоторых действий я могу удалить зарегистрированный dacpac в SSMS, если я подключен как пользователь SQL, но когда я пытаюсь это сделатьс пользователем AD я получаю:
Текущий пользователь не имеет достаточных прав на экземпляре SQL Server для удаления приложения уровня данных.Пользователь должен быть владельцем базы данных базы данных, связанной с приложением уровня данных.
Я знаю, что информация приложения уровня данных хранится в базе данных виртуального мастера.например,
select * [master].[dbo].[sysdac_history_internal]
select * [master].[dbo].[sysdac_instances_internal]
Похоже, вам нужно иметь db_owner в базе данных master для работы с ЦАПами таким образом, но единственным пользователем, который может быть db_owner, является SQL-аутентифицированный администратор SQL.
Поэтому, если я не смогу создать автономного пользователя AD, который сможет это сделать, я не думаю, что смогу использовать регистрацию dacpac, что является настоящим позором, так как обнаружение дрейфа является реальным продавцом использования SSDT.
Если кто-нибудь знает, как с этим справиться, я был бы очень рад это услышать.