Je mets à disposition les informations nécessaires pour procéder à la migration d’AX 3.0 vers Dynamics 2009.
Aucun message portant le libellé Dynamics AX Migration. Afficher tous les messages
Aucun message portant le libellé Dynamics AX Migration. Afficher tous les messages
Dynamics AX Migration : Echec de la synchronisation sur 4 table(s)
Lors de la Migration de Dynamics 4.0 SP2 vers Dynamics 2009, une erreur survient lors de la synchronisation de la base de données SQL.
Impossible d'exécuter une commande du language de définition de données sur (). La base de données SQL a émis une erreur
Echec de la synchronisation sur 4 table(s)
Echec de la synchronisation sur 4 table(s)
Sur le blog de Patrick Pelletier, on peut y trouver du code qui nous permet de connaître les quatres tables qui causent problème. Il suffit de créer et exécuter une job dans l'AOT avec le code suivant :
public static void manualSync(Args _args)
{
#define.unknown("UNKNOWN")
#define.tableIdMax(65536)
int i = 1;
;
while (i < #tableIdMax) { if (tableid2name(i) != #unknown) { print(tableid2name(i)); try { if (!appl.dbSynchronize(i, false, true)) throw Exception::Error; } catch { error(tableid2name(i)); } } i++; } }
{
#define.unknown("UNKNOWN")
#define.tableIdMax(65536)
int i = 1;
;
while (i < #tableIdMax) { if (tableid2name(i) != #unknown) { print(tableid2name(i)); try { if (!appl.dbSynchronize(i, false, true)) throw Exception::Error; } catch { error(tableid2name(i)); } } i++; } }
Vous pouvez aussi trouver plus d'information si vous consultez le Event Viewer du serveur. Si vous effectuez une migration de Dynamics 4.0 SP2 vers 2009, il y a de fortes chances que les 4 tables soient :
- DimensionCollection
- DimensionHierarchyCombination
- DimensionSetCombinationDuplicate
- DimensionSetCombinationTemp
Pour corriger le problème, voici le script que Microsoft demande d'exécuter sur la base de données de Dynamics AX 4.0 SP2 :
--DIMENSIONCOLLECTION
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50002 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50005 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50007 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50008 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50002 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50005 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50007 AND TABLEID=2897;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50008 AND TABLEID=2897;
--DIMENSIONHIERARCHYCOMBINATION
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50002 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50003 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50005 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50006 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=5 WHERE FIELDID=50009 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50002 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50003 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50005 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50006 AND TABLEID=2898;
UPDATE SQLDICTIONARY SET FIELDID=5 WHERE FIELDID=50009 AND TABLEID=2898;
--DIMENSIONSETCOMBINATIONDUP2899
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2899;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2899;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50003 AND TABLEID=2899;
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2899;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2899;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50003 AND TABLEID=2899;
--DIMENSIONSETCOMBINATIONTEMP
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50003 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50004 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=5 WHERE FIELDID=50005 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=6 WHERE FIELDID=50006 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50003 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=4 WHERE FIELDID=50004 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=5 WHERE FIELDID=50005 AND TABLEID=2900;
UPDATE SQLDICTIONARY SET FIELDID=6 WHERE FIELDID=50006 AND TABLEID=2900;
--PROVISIONALHIERARCHY
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2901;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2901;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50007 AND TABLEID=2901;
UPDATE SQLDICTIONARY SET FIELDID=1 WHERE FIELDID=50001 AND TABLEID=2901;
UPDATE SQLDICTIONARY SET FIELDID=2 WHERE FIELDID=50002 AND TABLEID=2901;
UPDATE SQLDICTIONARY SET FIELDID=3 WHERE FIELDID=50007 AND TABLEID=2901;
Dynamics AX Migration : The version of the stored procedures in this database is different than that expected by the Application Object Server (AOS)
Object Server : SQL diagnostics: The version of the stored procedures in this database is different than that expected by the Application Object Server (AOS). You must set up a new instance of the AOS that points to this database to update the version of the stored procedure
Lors du passage de Dynamics AX 4.0 vers 2009, vous pouvez recevoir le message d’erreur mentionné si vous n’avez pas suivi correctement la procédure de migration. En effet, lors de la préparation à la migration de 4.0 vers 2009, il faut configurer l’AOS 2009 pour se connecter sur la base de données 4.0. À ce stade de l’installation, le "Setup" va mettre à jour les deux stored procedure de la base de données 4.0. Pour corriger le problème, deux solutions ont été fournies par Microsoft :
Première solution
Réinstaller l’AOS de Microsoft Dynamics AX 2009 et spécifier la base de données 4.0 lors de l’installation
Deuxième solution
Ouvrir Microsoft SQL Server Management Studio et copier les stored procedure sysserversessions et sysclientsessions d’une BD AX 2009 fonctionnel vers la BD AX 4.0 que vous voulez migrer
Ensuite, regarder la colonne value lorsque la colonne parm égale SYSSPVERSION dans la table SQLSYSTEMVARIABLES en utilisant la requête suivante :
SELECT *
FROM SQLSYSTEMVARIABLES
WHERE parm='SYSSPVERSION';
Si la colonne value n’est pas égale à "8", executer la requête suivante:
UPDATE SQLSYSTEMVARIABLES SET value=8
WHERE parm='SYSSPVERSION';
S'abonner à :
Messages (Atom)