Projekt Visual Studio Database: sprawdzanie, czy istnieje login serwera SQL przed jego utworzeniem
Kiedy tworzę projekt bazy danych Visual Studio dla SQL 2012 i synchronizuję go z istniejącą bazą danych (używając Schematu Porównaj), synchronizuję również logowanie do serwera SQL. Visual Studio generuje następujący skrypt do logowania:
CREATE LOGIN [my_user] WITH PASSWORD = 'somesecurepass'
Gdy próbuję opublikować wygenerowany SQL na serwerze, na którym istnieje to logowanie, sqlcmd pokazuje mi błąd:
The server principal my_user already exists.
Kiedy patrzę na skrypt sql wygenerowany przez Visual Studio, widzę, że wiele obiektów jest zawiniętych w instrukcje IF EXISTS, ale CREATE LOGIN nie jest opakowane!
Próbowałem zawinąć go ręcznie w skrypcie SQL w projekcie, ale potem projekt nie został zbudowany i wystąpił błąd wskazujący na IF:
SQL70001: This statement is not recognized in this context.
Jak teraz zmusić program Visual Studio do wygenerowania skryptu tworzenia logowania przy użyciu sprawdzenia IF EXISTS i nie utracić zdolności synchronizacji?