Frage

Ich habe eine Reihe von Benutzerkonten und Serverkonten, die ich für SQL Azure (und dann in 4 anderen Umgebungen für (Dev, QA, UAT & Vorproduktion) erstellen muss, und ich stoße auf einige Probleme.

Problem 1. Anmeldung erstellen muss im Master / Create -Benutzer erfolgen, muss in der Datenbank erfolgen. Aber da Sie Datenbanken nicht mit a wechseln können Use Aussage, zumindest muss ich dies in 2 Chargen tun.

Problem 2. Sie scheinen nicht in der Lage zu sein, den Login/Erstellen von Benutzercode erstellen zu erstellen, entweder in dynamischer SQL oder als Teil eines IF Block, also kann ich keine wenn nicht existieren, um jede Erstellung zu überprüfen.

Bin ich hier Snooked oder gibt es noch andere einfache/robuste Möglichkeiten, die Erstellung von SQL -Logins & DB -Benutzern mit einer grundlegenden Existenzüberprüfung in SQL Azure zu skriptieren?

War es hilfreich?

Lösung

Sie sollten in der Lage sein, PowerShell für Azure zu verwenden, um das zu erreichen, was Sie brauchen.

Hier ist ein Beispiel für das Erstellen von Datenbank:http://blogs.msdn.com/b/windowsazure/archive/2013/02/07/windows-azure-sql-database-management-with-powershell.aspx

Hier ist ein PowerShell -Beispiel für das Erstellen von SQL -Benutzern:http://sqldbawithebeard.com/2013/09/23/add-user-t-database-role-with-powerShell/

Andere Tipps

Ich bin mir sicher, dass Sie dies gelöst haben, aber ich habe dieses Skript in Azure SQL gerade verwendet, um eine Anmeldung zu erstellen, wenn es nicht vorhanden ist (läuft gegen master):

IF NOT EXISTS (SELECT * FROM sys.sql_logins WHERE name = 'Blah')
    CREATE LOGIN Blah WITH PASSWORD = 'BS#ah12!!@#' 
ELSE
    PRINT 'Already exist'

und dieses Skript, um den Benutzer zu erstellen, wenn er nicht vorhanden ist (ausführend gegen die tatsächliche Datenbank):

IF NOT EXISTS (SELECT * FROM sys.sysusers WHERE name='Blah')
    CREATE USER Blah FOR LOGIN Blah WITH DEFAULT_SCHEMA = dbo
ELSE
    PRINT 'Already exists'

(Als Randnotiz sollte ich den SID -Wert aus ziehen sys.sql_logins und damit die Suche nutzen, um zu suchen sys.sysusers, aber ich benutze die Konvention, um das umzuarbeiten. Sehen https://stackoverflow.com/a/36654590/1462905)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top