Comment actualiser une base de données de formation avec les données de la base de données de production?

StackOverflow https://stackoverflow.com/questions/80271

  •  09-06-2019
  •  | 
  •  

Question

J'ai un système particulier sur notre réseau sur lequel nous devons maintenir une installation de formation. Le système utilise SQL Server 2000 comme moteur de base de données et je dois mettre en place un système permettant d'actualiser régulièrement les données de la base de données de formation avec les données de la base de données de production.

Je souhaite utiliser SSIS car nous disposons de serveurs SQL 2005 à partir desquels le processus peut être exécuté. J'ai pas mal d'expérience SQL, mais pas beaucoup avec SSIS. J'essayais de le faire avec la " Tâche de transfert de base de données " mais n'a pas eu beaucoup de chance, car il jette toujours une erreur.

Si nous ignorons l'utilisation d'éléments de configuration, etc. et supposons que tous les noms de bases de données, etc., sont codés en dur, j'ai les éléments suivants: Une seule tâche SSIS "Transfert de base de données" avec les propriétés suivantes:

  • Ecrasement de la destination: True
  • Action: Copier
  • Méthode: DatabaseOnline

L'erreur que je reçois est:

  

Erreur: la méthode Execute de la tâche a renvoyé le code d'erreur 0x80131500 (ERROR: errorCode = -1073548784 description = L'exécution de la requête "EXEC dbo.sp_addrole @rolename = N'XXXXX" a échoué avec l'erreur suivante: " Le rôle 'XXXXX' existe déjà dans la base de données actuelle. ". Causes possibles de l'échec: problèmes avec la requête, propriété" ResultSet "non définie correctement, paramètres non définis ou connexion non établie correctement. HelpFile = helpContext = 0 idofInterfaceWithError = {8BDFE893-E9D8-4D23-9739-DA807BCDC2AC}). La méthode Execute doit réussir et indiquer le résultat à l'aide de l'option "out". paramètre.

Je suis sûr que quelque chose d’évident se passe ici, mais si la tâche est destinée à écraser la préexistence du rôle, cela ne devrait pas avoir d’importance? Est-ce que quelqu'un sait ce que je dois faire pour que cela fonctionne?

Était-ce utile?

La solution

Apparemment, cela devrait être résolu dans SQLServer 2005 SP2 voir ici . Vous devez également veiller à appliquer un correctif à la machine client si vous exécutez le package SSIS à partir de Visual Studio.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top