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