Se si disponesse di un DBA responsabile della distribuzione di database in un ambiente live, quale scelta scegliere per dargli? Uno script di creazione del database o un backup che potrebbe essere ripristinato su un database esistente? Che tipo di vantaggi/svantaggi ci sono? (Stiamo usando MSSQL2000 e MSSQL2005)Distribuzione del database: script o backup
risposta
Mentre sono d'accordo con il primo suggerimento dispiegamento di Giovanni di utilizzare un backup del database, preferisco l'idea di almeno avere lo script disponibile per la revisione per consentire la verifica di standard di codifica, la valutazione delle prestazioni, ecc
Se Stiamo cercando qualcosa chiavi che è già stato rivisto, quindi il backup/ripristino è un'opzione perfetta per la prima distribuzione, ancora di più se ci sono dati di configurazione che sono stati "messi in scena" in quel database. Questo aiuta ad evitare istruzioni di inserimento lunghe o complesse.
È un dato che rilascerà oltre il primo verrà sottoposto a script. Nel nostro ambiente richiediamo note di rilascio per specificare il server, l'istanza e il percorso degli script. Gli script devono essere forniti in ordine numerico, separati in cartelle dal database di destinazione, con un secondo set di script di rollback. Abbiamo persino bisogno che ogni script abbia un'istruzione USE nella parte superiore, quindi non dobbiamo preoccuparci di creare nuovi oggetti nel database master! ;)
script di creazione del DB è meglio - si può sempre aprire un blocco note e risolverlo.
io non sono sicuro circa l'opzione di backup, ma con uno script di creazione db il DBA può impostare il database come vuole (deve, permessi, ecc) poi basta creare le tabelle ecc con lo script.
Preferisco uno script per le distribuzioni, sono molto meno invadenti. Un ripristino sovrascriverà l'intero database, i dati e tutto, che probabilmente non è una buona idea per l'ambiente di produzione.
Per la prima distribuzione di ; un backup del database ... è così semplice e veloce.
Se il database è già vivo; deve essere una serie di script numerati. Personalmente, contiamo i miei script e apporto solo modifiche al database tramite script. Ciò garantisce che tutti i database siano sincronizzati o che possano essere sincronizzati in modo davvero semplice.
Alcune persone pensano che sia una specie di anale ... ma non avrò mai un problema di distribuzione della produzione.
Preferisco uno script perché è possibile inserirlo in un repository e tracciarlo. Puoi anche eseguirlo su un server remoto abbastanza facilmente.
Utilizzare gli script sotto il controllo di origine - un bel side-vantaggio è che si costruisce una storia ricercabile di ogni oggetto nel database ed è leggibile. I backup sono scatole nere: non sai cosa faranno al tuo db.
Vorrei andare con gli script: la combinazione di leggibilità umana, compatibilità tramite il controllo del codice sorgente e la possibilità di gestire facilmente gli aggiornamenti del tuo motore di database fanno di questo il modo per andare nella nostra organizzazione.
Definitivamente andare con gli script SQL in quanto possono essere controllati dalla versione. Preferibilmente renderli piccoli e disporre di una sorta di batch per eseguirli in un ordine noto (in modo incrementale) in modo che sia facile eseguirli in un database già in produzione.
Un'alternativa agli script SQL consiste nell'utilizzare un framework di migrazione. Si specificano le modifiche al database in piccoli passi nel codice sorgente.Il vantaggio di un framework di migrazione è che un programmatore che non conosce SQL può semplicemente apportare modifiche al database (che tuttavia non elimina la necessità di conoscere alcune basi del database).
Sono piuttosto espliciti su come si crea e si abbatte un database nei passaggi incrementali. Questo rende più facile testare e ricreare bug in diverse versioni di un sistema di database o di un'applicazione.
Alcuni esempi di quadri di migrazione che io conosco sono:
- Migratordotnet per NET, che vengono eseguiti in script di build, come msbuild.
- Ruby on Rails utilizza la migrazione che viene eseguita tramite Rake.
Il backup è pensato per eseguire effettivamente il backup del database. Man mano che il database cresce, la portabilità diminuisce. Quindi un programmatore ha bisogno solo di un sottoinsieme dei dati. Per ragioni di sicurezza, dovrebbero trattare anche i dati dei test invece dei dati reali. È una buona pratica avere in mano un generatore di dati di prova in modo che gli sviluppatori ei tester possano testare la loro implementazione senza danneggiare i dati in produzione.
- 1. Script di shell Linux per il backup del database
- 2. Backup automatico del database SQL
- 3. Distribuzione del database
- 4. Backup del database AppEngine (Google cloud storage?)
- 5. Backup del database MySQL su Dropbox
- 6. backup del database mysql con mysqldump
- 7. Best practice di backup del database grande
- 8. Eseguire "backup" del database SQL Server Compact
- 9. Come eseguire il backup del database SQLite?
- 10. Migliori pratiche di distribuzione del database
- 11. Che cos'è un semplice programma o script da riga di comando per eseguire il backup dei database del server SQL?
- 12. Dove sono gli script di pre-distribuzione e post-distribuzione nei progetti di database VS2013?
- 13. Script di backup ricorsivo PHP
- 14. Backup del database MySQL automaticamente su un server Windows
- 15. iOS: backup del database dei dati di base in iCloud?
- 16. Aggiungi data per SQL backup del database nome
- 17. Backup del database in memoria SQLite in .NET
- 18. Come eseguire il backup del database MySQL su Windows?
- 19. Errore del database di backup di SQL Server 2012 Express
- 20. VS2012 Script post-distribuzione relativo a diversi altri script
- 21. Script per eseguire backup incrementali con rsync
- 22. Script di database Autorun ELMAH
- 23. Calcolo delle dimensioni del backup del DB
- 24. Replica o mirroring del database?
- 25. database del luogo o del luogo
- 26. Come eseguire il backup e il ripristino del database ORACLE 11g Come il database SQL2005
- 27. Le migliori pratiche per le scritture del database del sito Web durante i backup a freddo?
- 28. Database di distribuzione del contenuto da più deployer (DB Broker)
- 29. Ho bisogno di automatizzare il backup del database SQL Azure nei file SQL Script. Come posso farlo?
- 30. Come eseguire il backup dell'istanza del database di Amazon RDS MS SQL Server e ripristinarlo localmente
Mentre utilizzare un backup del database è una soluzione facile per la distribuzione iniziale, potrebbe non essere una buona soluzione se si esegue la distribuzione su server con impostazioni internazionali diverse dal server da cui è stato eseguito il backup. Abbiamo usato questo approccio in passato e abbiamo avuto problemi dopo il fatto con conflitti di collazione per i nostri clienti oltreoceano. Un backup del database mantiene le sue regole di confronto, mentre uno script crea il database nelle regole di confronto predefinite del server (a meno che non lo specifichi). Per questo motivo ci siamo spostati sugli script per la distribuzione iniziale e i successivi aggiornamenti. – Parmenion