Visual Studio-Datenbankprojekt: Überprüfen Sie, ob die SQL Server-Anmeldung vorhanden ist, bevor Sie sie erstellen

Wenn ich ein Visual Studio-Datenbankprojekt für SQL 2012 erstelle und es mit einer vorhandenen Datenbank synchronisiere (mithilfe des Vergleichsschemas), synchronisiere ich auch eine SQL Server-Anmeldung. Visual Studio generiert das folgende Skript für die Anmeldung:

CREATE LOGIN [my_user] WITH PASSWORD = 'somesecurepass'

Wenn ich versuche, die generierte SQL auf einem Server zu veröffentlichen, auf dem diese Anmeldung vorhanden ist, zeigt sqlcmd einen Fehler an:

The server principal my_user already exists.

Wenn ich mir das von Visual Studio generierte SQL-Skript ansehe, sehe ich, dass viele Objekte in IF EXISTS-Anweisungen eingeschlossen sind, CREATE LOGIN jedoch nicht!

Ich habe versucht, es manuell in das SQL-Skript im Projekt einzubinden, aber dann wird das Projekt nicht erstellt, und es liegt ein Fehler vor, der auf IF verweist:

SQL70001: This statement is not recognized in this context.

Wie kann ich nun Visual Studio zwingen, das Anmeldeerstellungsskript mit der IF EXISTS-Prüfung zu generieren und dabei auch die Synchronisierungsfähigkeiten nicht zu verlieren?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage