J'ai une très grande base de données de production et une très grande base de données d'environnement de test dans SQL Server 2008R2. Les deux bases de données ont une structure de table similaire mais des utilisateurs / connexions / autorisations / rôles différents.
Je n'ai besoin de rafraîchir que quelques tables de la base de données de test périodiquement depuis la production, environ une fois par mois.
La façon dont je prévois de le faire est
- Utilisez l'utilitaire BCP pour effectuer une exportation des tables dont j'ai besoin depuis Production.
- Copiez le fichier d'exportation bcp sur le serveur de test
- Désactiver les index et les contraintes sur toutes les tables que je rafraîchis dans Test
- Tronquer les tables de base de données de test
- Rechargez les données dans les tables de la base de données de test à l'aide de BCP.
- reconstruire les index et réactiver les contraintes dans Test
Tout cela semble un peu trop compliqué pour une si petite tâche. Il semble également que cela générerait beaucoup de refaire (dans le t-log) Y a-t-il une meilleure façon de le faire?
Une autre façon pour moi de le faire est de restaurer une sauvegarde de Production sur l'environnement de test - mais le problème que j'ai est qu'une sauvegarde complète serait assez volumineuse et je n'ai pas besoin de rafraîchir toutes les tables, seulement quelques- -et aussi les utilisateurs et la sécurité dans la base de données de production sont différents du test. Cela serait écrasé par les paramètres de sécurité dans la base de données de production si je restaure la base de données entière.