Domanda

Ho un sacco di account utente e account server che devo creare su SQL Azure (e poi in altri 4 ambienti per (Dev, Qa, UAT e pre-produzione) e sto affrontando alcuni problemi.

Problema 1. La creazione dell'accesso deve essere eseguita su Master / Crea l'utente deve essere eseguito nel database. Ma dal momento che non è possibile cambiare database con un Use Dichiarazione, almeno dovrò farlo in 2 lotti.

Problema 2. Non sembra essere in grado di eseguire il codice utente di Crea login/Crea in SQL dinamico o come parte di un IF Blocca quindi non posso fare un se non esiste che controlla ogni istruzione Crea.

Sono cupo qui, o ci sono altri modi facili/robusti per scrivere la creazione di utenti di accesso SQL e DB con un controllo di base di esistenza in SQL Azure?

È stato utile?

Soluzione

Dovresti essere in grado di usare PowerShell per Azure per realizzare ciò di cui hai bisogno.

Ecco un esempio di come creare il database:http://blogs.msdn.com/b/windowsazure/archive/2013/02/07/windows-azure-sql-database-management-with-powershell.aspx

Ecco un esempio PowerShell della creazione di utenti SQL:http://sqldbawithabeard.com/2013/09/23/add-user-to-database-mole-with-powershell/

Altri suggerimenti

Sono sicuro che l'hai risolto, ma ho appena usato questo script in Azure SQL per creare un accesso se non esiste (in esecuzione contro master):

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

E questo script per creare l'utente se non esiste (in esecuzione contro il database effettivo):

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

(Come nota a margine dovrei estrarre il valore SID sys.sql_logins e usandolo per cercare sys.sysusers, ma sto usando la convenzione per aggirarlo. Vedere https://stackoverflow.com/a/36654590/1462905)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top