Проект базы данных Visual Studio: проверка существования входа в SQL-сервер перед его созданием

Когда я создаю проект базы данных 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 сгенерировать сценарий создания входа с помощью проверку ЕСЛИ СУЩЕСТВУЕТ, а также не теряют возможности синхронизации?

14
задан JustAMartin 21 December 2016 в 09:19
поделиться