Когда я создаю проект базы данных Visual Studio для SQL 2012 и синхронизирую его с существующей базой данных (используя схему сравнения), я также синхронизирую логин SQL-сервера. Visual Studio генерирует следующий сценарий для имени входа:
CREATE LOGIN [my_user] WITH PASSWORD = 'somesecurepass'
Когда я пытаюсь опубликовать сгенерированный SQL на сервере, где существует это имя входа, sqlcmd показывает мне ошибку:
The server principal my_user already exists.
Когда я смотрю на сценарий sql, созданный Visual Studio, Я вижу, что многие объекты обернуты операторами IF EXISTS, но CREATE LOGIN не обернут!
Я попытался завернуть его вручную в сценарий SQL в проекте, но тогда проект не собирается и возникает ошибка, указывающая на IF:
SQL70001: This statement is not recognized in this context.
Теперь, как мне заставить Visual Studio сгенерировать сценарий создания входа с помощью проверку ЕСЛИ СУЩЕСТВУЕТ, а также не теряют возможности синхронизации?