Proprio come la vena della domanda che è stata postata qui in precedenza intorno a "Gli sviluppatori dovrebbero essere in grado di interrogare i database di produzione? " Volevo farti un'idea su un altro argomento particolarmente fastidioso!
Molte aziende impediscono agli sviluppatori di installare SQL Server Express e simili su macchine di sviluppo, promuovendo invece l'uso di server SQL di sviluppo centralizzati.
Nello specifico, ciò viene fatto per garantire:
- Coerenza a livello di patch tra server di sviluppo e produzione
- Capacità di provare e validare eventuali patch su quanto sopra
- La sicurezza dei dati; solo i dati sui server di sviluppo vengono utilizzati per lo sviluppo
- recuperabilità; i dati sono recuperabili e comunque sottoposti a backup
- Differenze di confronto che possono causare problemi quando si passa alla produzione
Per me tutti questi argomenti sono particolarmente invalidi, forse con l'eccezione di quelli di correzione; ma se un database su un computer locale viene utilizzato esclusivamente per attività di sviluppo e non per test, il patching verrebbe dimostrato quando un'applicazione passerà da Test / UAT ecc. alla produzione.
Le regole di confronto non sembrano essere un motivo valido, come se questo fosse un problema per il database che dovrebbe essere impostato al momento della creazione. Solo SharePoint e SCCM hanno problemi al riguardo per quanto ne so;)
Ora, supponendo che sia SOLO per lo sviluppo, e il database non verrà "spostato" alla produzione e gli unici movimenti sarebbero:
- Script che hanno creato il database generato per la distribuzione in produzione
- Backup da sistemi di "produzione" di terze parti ripristinati e troncati ove appropriato per la convalida e lo sviluppo
Qualcuno può vedere qualche problema? Mi sto perdendo qualcosa?
Immagino che una delle maggiori preoccupazioni sia la possibilità che le istanze di db locali non siano aggiornate, ma si tratta di un problema di gestione del software, non di un DBA IMO.