Ho un database di produzione molto grande e un database di ambiente di test molto grande in SQL Server 2008R2. Entrambi i database hanno una struttura di tabella simile ma utenti / accessi / autorizzazioni / ruoli diversi.
Devo aggiornare periodicamente solo alcune tabelle nel database di test dalla produzione, circa una volta al mese.
Il modo in cui sto pianificando di farlo è
- Utilizzare l'utilità BCP per eseguire un'esportazione delle tabelle necessarie dalla produzione.
- Copia il file di esportazione bcp sul server di prova
- Disabilita indici e vincoli su tutte le tabelle che sto aggiornando in Test
- Troncare le tabelle del database di test
- Caricare nuovamente i dati nelle tabelle del database di test utilizzando BCP.
- ricostruire gli indici e riattivare i vincoli in Test
Tutto questo sembra un po 'troppo complicato per un compito così piccolo. Sembra anche che genererebbe molta ripetizione (nel registro t) Esiste un modo migliore per farlo?
Un altro modo in cui ho pensato di farlo è ripristinare un backup da Production nell'ambiente di test, ma il problema che ho è che un backup completo sarebbe abbastanza grande e non ho bisogno di aggiornare tutti i tavoli, solo alcuni- -e anche gli utenti e la sicurezza nel database di produzione sono diversi dai test. Ciò verrebbe sovrascritto dalle impostazioni di sicurezza nel database di produzione se ripristino l'intero database.