Configurez une société de test qui dispose d’une copie des données d’entreprise actives pour Microsoft Dynamics GP à l’aide de Microsoft SQL Server

Cet article explique comment configurer une société de test qui dispose d’une copie des données d’entreprise actives à l’aide de Microsoft SQL Server.

S’applique à : Microsoft Dynamics GP
Numéro de la base de connaissances d’origine : 871973

Résumé

Pour tester certains problèmes, une technique de résolution des problèmes peut consister à copier la base de données Live Company dans une base de données de la société de test.

Plus d’informations

Remarques :

  • Si vous utilisez Human Resources pour Microsoft Dynamics GP, les informations de configuration de présence semblent n’avoir pas été copiées. Pour ouvrir cette fenêtre, sélectionnez Outils, pointez sur Configuration, sur Ressources humaines, sur Présence, puis sélectionnez Configuration. Cette table (TAST0130) est copiée, mais elle contient un champ qui fait toujours référence à la base de données Live Company. Pour corriger ce problème, vous pouvez saisir à nouveau les données dans la fenêtre Installation de présence de la nouvelle base de données de l’entreprise de test pour contenir les mêmes informations qu’auparavant, puis les enregistrer. Vous pouvez également choisir de mettre à jour le champ COMPANYCODE_I dans la table TAST0130 pour modifier la référence du code de l’entreprise en base de données de test à la place (qui se trouve dans la valeur de la colonne INTERID pour la société test dans dynamics.). SY01500 table).

  • Si vous utilisez des immobilisations pour Microsoft Dynamics GP, les informations de configuration de la société des immobilisations ne seront pas apportées à la société de test. Pour corriger ce problème, ouvrez la fenêtre Installation de la société de ressources fixes dans la société active et notez les paramètres. Ouvrez la fenêtre Installation de la société d’immobilisations dans la société de test et entrez les mêmes paramètres que la société en direct. Pour ouvrir la fenêtre, utilisez la commande suivante :

    • Microsoft Dynamics GP 10.0 ou version ultérieure :
      Sélectionnez Microsoft Dynamics GP, pointez sur Outils, pointez sur Configuration, Pointez sur Système, pointez sur Immobilisations, puis sélectionnez Société.
  • Si vous utilisez des pistes d’audit pour Microsoft Dynamics GP, vous devez supprimer les déclencheurs d’audit de la société de test à l’aide de SQL et non du serveur frontal. Les pistes d’audit sont simplement des déclencheurs qui sont copiés et qui pointent toujours vers la même base de données d’audit en direct. Toutefois, ne supprimez pas, n’arrêtez pas ou supprimez l’audit dans la fenêtre AuditEr la maintenance de la piste dans la société de test, sinon cela effacera l’historique dans la table d’audit et/ou supprimera le déclencheur sur l’entreprise active. Pour supprimer les déclencheurs de piste d’audit de la société de test, reportez-vous aux étapes décrites dans Comment empêcher les déclencheurs de piste d’audit dans la société de test de mettre à jour la base de données d’audit en direct à l’aide des pistes d’audit dans Microsoft Dynamics GP.

  • Si vous utilisez la comptabilité analytique (AA), vous devez d’abord activer AA dans l’entreprise de test avant de copier sur la base de données active (sur laquelle AA est actif). Suivez les étapes décrites dans Comment créer une société de test avec la comptabilité analytique installée à l’aide de Microsoft Dynamics GP.

    Remarque

    Après la restauration, n’oubliez pas d’exécuter les deux scripts mentionnés dans le blog : le premier pour mettre à jour l’INTERID (à partir de l’étape 6 ci-dessous dans cet article, et également le script pour mettre à jour les prochains nombres disponibles stockés dans la table AAG00102 (pour éviter les erreurs de clé dupliquée lors de la clé de nouvelles transactions).

  • Si vous utilisez Management Reporter 2012, vous devez arrêter les services de reporter de gestion qui peuvent être effectués à l’aide de l’une des options suivantes :

    1. Dans la console de configuration de Management Reporter 2012, sur la première page, vous verrez à la fois le service d’application Management Reporter 2012 et le service de processus De management Reporter 2012. Sélectionnez Arrêter sous ces deux services pour les arrêter.

    2. Sélectionnez Démarrer, Panneau de configuration, Outils d’administration, puis ouvrez Services. Dans la fenêtre Services, mettez en surbrillance management Reporter 2012 Application Service et sélectionnez le lien Pour arrêter ce service. Mettez également en surbrillance le service de processus de Management Reporter 2012 et sélectionnez également le lien Pour arrêter ce service.

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Il inclut, sans s’y limiter, les garanties implicites de qualité marchande ou d’adéquation à un usage particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support Microsoft peuvent expliquer la fonctionnalité d’une procédure en particulier. Toutefois, ils ne modifient pas ces exemples pour fournir des fonctionnalités ou des procédures de construction supplémentaires pour répondre à vos besoins spécifiques.

Pour configurer la société de test, procédez comme suit :

  1. Dans Utilitaires, créez une base de données d’entreprise que vous pouvez utiliser comme société de test. Veillez à donner à la base de données un ID de base de données/société unique et un nom de société qui désignera la base de données comme société de test. Par exemple, vous pouvez utiliser un ID de base de données/société test et un nom de société TEST COMPANY.

    Remarque

    Chemin d’accès où les fichiers .mdf et .ldf de la base de données sont créés. Vous aurez besoin de ces informations pour une étape plus loin dans cet article.

  2. Connectez-vous à la société de test. Dans Microsoft Dynamics GP, sélectionnez Microsoft Dynamics GP, Outils, Configuration, Système, puis Accès utilisateur.

  3. Dans la zone Accès utilisateur , sélectionnez l’utilisateur auquel vous souhaitez accorder l’accès à la base de données de l’entreprise de test. Ensuite, sélectionnez la zone case activée en regard du nom de la société de test pour accorder l’accès à la base de données de la société de test. Répétez cette étape pour tous les utilisateurs auxquels vous souhaitez accorder l’accès à la base de données de l’entreprise de test. Pour ce faire, procédez comme suit.

    • Microsoft Dynamics GP : sélectionnez Microsoft Dynamics GP, Outils, Configuration, Système, puis Accès utilisateur.
  4. Effectuez une sauvegarde de la base de données de l’entreprise active.

    Si vous utilisez SQL Server Management Studio, procédez comme suit :

    1. Sélectionnez Démarrer, puis Programmes.
    2. Pointez sur Microsoft SQL Server, puis sélectionnez SQL Server Management Studio. La fenêtre Se connecter au serveur s’ouvre.
    3. Dans la zone Nom du serveur, tapez le nom du instance de SQL Server.
    4. Dans la liste Authentification , sélectionnez Authentification SQL.
    5. Dans la zone Nom d’utilisateur , tapez sa.
    6. Dans la zone Mot de passe , tapez le mot de passe de l’utilisateur sa, puis sélectionnez Se connecter.
    7. Dans la section Explorateur d'objets, développez Bases de données.
    8. Cliquez avec le bouton droit sur la base de données de l’entreprise active, pointez sur Tâches, puis sélectionnez Sauvegarde.
    9. Dans la zone Destination , sélectionnez Supprimer, puis Ajouter.
    10. Dans la zone Destination sur le disque , sélectionnez le bouton de sélection.
    11. Recherchez l’emplacement où vous souhaitez créer le fichier de sauvegarde, tapez un nom pour le fichier de sauvegarde, par exemple LIVE.bak, puis sélectionnez OK.
    12. Sélectionnez OK à plusieurs reprises jusqu’à ce que vous reveniez à la fenêtre Sauvegarder la base de données.
    13. Sélectionnez OK pour démarrer la sauvegarde.
  5. Restaurez le fichier de sauvegarde d’entreprise actif que vous avez créé à l’étape 4 dans la base de données de l’entreprise de test.

    Si vous utilisez SQL Server Management Studio, procédez comme suit :

    1. Sélectionnez Démarrer, puis Programmes.

    2. Pointez sur Microsoft SQL Server, puis sélectionnez SQL Server Management Studio. La fenêtre Se connecter au serveur s’ouvre.

    3. Dans la zone Nom du serveur, tapez le nom du instance de SQL Server.

    4. Dans la liste Authentification , sélectionnez Authentification SQL.

    5. Dans la zone Nom d’utilisateur , tapez sa.

    6. Dans la zone Mot de passe , tapez le mot de passe de l’utilisateur sa, puis sélectionnez Se connecter.

    7. Dans la section Explorateur d'objets, développez Bases de données.

    8. Cliquez avec le bouton droit sur la base de données de l’entreprise de test, pointez sur Tâches, sur Restaurer, puis sélectionnez Base de données.

    9. Dans la zone Source pour la restauration , sélectionnez À partir de l’appareil, puis sélectionnez le bouton de sélection .

    10. Dans la zone Emplacement de sauvegarde , sélectionnez Ajouter.

    11. Recherchez l’emplacement où a enregistré le fichier de sauvegarde, sélectionnez LIVE.bak fichier, puis sélectionnez OK.

    12. Sélectionnez OK. Vous revenez à la fenêtre Restaurer la base de données.

    13. Dans la section Sélectionner les jeux de sauvegarde à restaurer , sélectionnez le fichier de sauvegarde que vous souhaitez restaurer.

    14. Dans la zone Sélectionner une page , sélectionnez Fichier.

    15. Dans la zone Restaurer les fichiers de base de données en tant que , vous devez remplacer l’emplacement de ces deux fichiers de la base de données active par les fichiers .mdf et .ldf de la base de données de test. Par défaut, ils sont sélectionnés sur les fichiers .mdf et .ldf de la base de données en direct.

      Remarque

      Le nom de fichier logique reflète le nom de la base de données active. Ne modifiez pas le nom de fichier logique.

    16. Pour modifier ces emplacements, sélectionnez le bouton Ellipse (...) en regard du champ Emplacement du fichier.

    17. Accédez au chemin que vous avez noté à l’étape 1, où la base de données de test a été créée.

    18. Mettez en surbrillance le fichier .mdf respectif, puis sélectionnez OK.

    19. Répétez les étapes 16 à 18, sélectionnez le fichier .ldf, puis sélectionnez OK.

    20. Sélectionnez l’onglet Options pour sélectionner la zone Remplacer la base de données existante case activée.

    21. Sélectionnez OK pour revenir à la fenêtre Restaurer la base de données

    Si vous utilisez Microsoft Dynamics GP 10.0 ou version ultérieure, procédez comme suit pour copier les autorisations de sécurité de l’entreprise active vers la société de test :

    1. Connectez-vous à Microsoft Dynamics GP en tant qu’utilisateur sa.

    2. Sélectionnez Microsoft Dynamics GP, pointez sur Outils, sur Configuration, sur Système, puis sélectionnez Accès utilisateur.

    3. Sélectionnez un utilisateur approprié, puis vérifiez que la zone case activée de la nouvelle société de test est sélectionnée pour indiquer que l’accès est accordé.

      Remarque

      Si vous recevez un message d’erreur lorsque vous sélectionnez une entreprise, supprimez l’utilisateur du dossier Utilisateurs sous la nouvelle base de données de test dans SQL Server Management Studio.

    4. Sélectionnez Microsoft Dynamics GP, pointez sur Outils, sur Configuration, sur Système, puis sélectionnez Sécurité de l’utilisateur.

    5. Dans la fenêtre Configuration de la tâche de sécurité, sélectionnez l’utilisateur auquel vous souhaitez avoir accès à la société de test.

    6. Dans la liste Société , sélectionnez l’entreprise en direct.

    7. Sélectionnez Copier, sélectionnez la zone case activée qui se trouve en regard de la société de test, puis sélectionnez OK.

      Les autorisations de l’utilisateur dans l’entreprise active sont copiées dans la société de test.

  6. Une fois que la base de données de l’entreprise active a été restaurée en haut de la base de données de l’entreprise de test, la société de test contient des références qui ont les mêmes informations COMPANYID et INTERID que la société active. Pour refléter correctement les informations de la société de test, exécutez le script ci-dessous sur la société de test dans l’Analyseur de requête ou dans SQL Server Management Studio. Ce script met à jour l’COMPANYID et l’INTERID dans la base de données de test avec les informations répertoriées dans la table de SY01500 de base de données système pour cette société de test.

    if exists (select 1 from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'SY00100') begin
      declare @Statement varchar(850)
      select @Statement = 'declare @cStatement varchar(255)
    declare G_cursor CURSOR for
    select case when UPPER(a.COLUMN_NAME) in (''COMPANYID'',''CMPANYID'')
      then ''update ''+a.TABLE_NAME+'' set ''+a.COLUMN_NAME+'' = ''+ cast(b.CMPANYID as char(3)) 
      else ''update ''+a.TABLE_NAME+'' set ''+a.COLUMN_NAME+'' = ''''''+ db_name()+'''''''' end
    from INFORMATION_SCHEMA.COLUMNS a, '+rtrim(DBNAME)+'.dbo.SY01500 b
      where UPPER(a.COLUMN_NAME) in (''COMPANYID'',''CMPANYID'',''INTERID'',''DB_NAME'',''DBNAME'')
        and b.INTERID = db_name() and COLUMN_DEFAULT is not null
     and rtrim(a.TABLE_NAME)+''-''+rtrim(a.COLUMN_NAME) <> ''SY00100-DBNAME''
      order by a.TABLE_NAME
    set nocount on
    OPEN G_cursor
    FETCH NEXT FROM G_cursor INTO @cStatement
    WHILE (@@FETCH_STATUS <> -1)
    begin
      exec (@cStatement)
      FETCH NEXT FROM G_cursor INTO @cStatement
    end
    close G_cursor
    DEALLOCATE G_cursor
    set nocount off'
      from SY00100
      exec (@Statement)
    end
    else begin
      declare @cStatement varchar(255)
      declare G_cursor CURSOR for
      select case when UPPER(a.COLUMN_NAME) in ('COMPANYID','CMPANYID')
        then 'update '+a.TABLE_NAME+' set '+a.COLUMN_NAME+' = '+ cast(b.CMPANYID as char(3)) 
        else 'update '+a.TABLE_NAME+' set '+a.COLUMN_NAME+' = '''+ db_name()+'''' end
      from INFORMATION_SCHEMA.COLUMNS a, DYNAMICS.dbo.SY01500 b
        where UPPER(a.COLUMN_NAME) in ('COMPANYID','CMPANYID','INTERID','DB_NAME','DBNAME')
          and b.INTERID = db_name() and COLUMN_DEFAULT is not null
        order by a.TABLE_NAME
      set nocount on
      OPEN G_cursor
      FETCH NEXT FROM G_cursor INTO @cStatement
      WHILE (@@FETCH_STATUS <> -1)
      begin
        exec (@cStatement)
        FETCH NEXT FROM G_cursor INTO @cStatement
      end
      close G_cursor
      DEALLOCATE G_cursor
      set nocount off
    end
    

    Remarque

    Si ce script échoue avec une erreur de clé en double, vous devez modifier manuellement les colonnes INTERID et COMPANYID dans la table sur laquelle vous recevez l’erreur de clé primaire dans l’entreprise de test.

    Par exemple : erreur de contrainte de clé primaire sur PKRVLPD033. Pour effectuer correctement une recherche de la table, le préfixe, PK, fait référence à la clé primaire et ne fait pas partie du nom de la table. Dans cet exemple, la table que vous souhaitez vérifier est RVLPD033 pour cette base de données.

    Remarque

    Si vous utilisez ressources humaines, vous devez également modifier la valeur COMPANYCODE_I dans la table TAST0130. Pour plus d’informations, consultez la section NOTES en haut de cet article.

  7. Vérifiez que le propriétaire de la base de données de test est DYNSA. Pour ce faire, exécutez le script suivant sur la société de test dans l’Analyseur de requêtes ou dans SQL Server Management Studio :

    sp_changedbowner 'DYNSA'
    
  8. Si vous utilisez la fonctionnalité d’exploration dans les rapports intégrés SQL Server Reporting Services ou Excel, vous devez effectuer les opérations suivantes pour mettre à jour les liens de votre serveur afin que les explorations fonctionnent après la modification de la base de données :

    • Vérifiez que tout le monde s’est déconnecté de Microsoft Dynamics GP et fermez toutes les instances de SQL Server Management Studio
    • Sur un ordinateur sur lequel Dynamics GP est installé, sélectionnez Démarrer, puis pointez sur Tous les programmes. Sélectionnez Microsoft Dynamics, puis GP et sélectionnez Maintenance de base de données.
    • Lorsque l’utilitaire s’ouvre, sélectionnez ou entrez le SQL Server instance où les bases de données Dynamics GP sont stockées. Si vous êtes connecté en tant que compte de domaine avec des droits sur cette SQL Server instance, vous pouvez sélectionner cette option. Sinon, sélectionnez Authentification SQL et entrez un nom d’utilisateur et un mot de passe appropriés. Sélectionnez ensuite Suivant. >>
    • Sélectionnez Marquer tout pour choisir chacune des bases de données Dynamics GP, puis sélectionnez Suivant. >>
    • Sélectionnez le produit Microsoft Dynamics GP, puis sélectionnez Suivant >>
    • Sélectionnez Fonctions et Procédures stockées et vues, puis suivant>>.
    • Passez en revue la fenêtre de confirmation, puis sélectionnez Suivant >> pour commencer le processus.

    L’entreprise de test doit maintenant disposer d’une copie des données d’entreprise actives et être prête à être utilisée.

References

Pour plus d’informations, consultez Configurer une société de test qui dispose d’une copie des données d’entreprise actives à l’aide de Microsoft Dynamics GP sur MSDE 2000, SQL Server 2005 Express, SQL Server 2008 Express ou SQL Server 2012 Express.