Я пытаюсь создать автоматический сценарий для создания базы данных SQL Azure для уже существующего экземпляра.
Я знаю, что могу использовать автоматизацию, основанную на CLI, но мне нужно немного больше контролировать, что и когда создается.
Теперь я остановился при создании логина. Я хочу создать пользователя для входа в систему, только если он не существует (и изменить пароль, если он существует).
Это мой код:
IF NOT EXISTS (SELECT name FROM sys.sysusers WHERE name='$(dbUserName)')
BEGIN
CREATE LOGIN $(dbUserName) WITH PASSWORD='$(dbUserPassword)';
END
ELSE
BEGIN
ALTER LOGIN $(dbUserName) WITH PASSWORD='$(dbUserPassword)';
END
Моя проблема в том, что представления sys.sysusers проверяют пользователей базы данных, а не пользователя входа. Я пытаюсь найти, какое представление системного каталога содержит логин пользователей, но я не могу найти (я также пробовал database_principals)
ПРИМЕЧАНИЕ. Я нашел несколько альтернатив для локального сервера SQL Server, но они не работают в Azure SQL