Configurare una società di test con una copia dei dati aziendali live per Microsoft Dynamics GP usando Microsoft SQL Server

Questo articolo descrive come configurare una società di test con una copia dei dati aziendali live usando Microsoft SQL Server.

Si applica a: Microsoft Dynamics GP
Numero KB originale: 871973

Riepilogo

Per testare determinati problemi, una tecnica di risoluzione dei problemi può essere quella di copiare il database di Live Company in un database della società di test.

Ulteriori informazioni

Note:

  • Se si usano risorse umane per Microsoft Dynamics GP, le informazioni sull'installazione delle presenze sembrano non essere state copiate. Per aprire questa finestra, selezionare Strumenti, imposta, Risorseumane, Partecipazione e quindi imposta. Questa tabella (TAST0130) viene copiata, ma contiene un campo che fa ancora riferimento al database Live Company. Per risolvere questo problema, è possibile immettere nuovamente i dati nella finestra Configurazione presenze nel nuovo database della società di test per contenere le stesse informazioni di prima e salvarle. In alternativa, è possibile scegliere di aggiornare il campo COMPANYCODE_I nella tabella TAST0130 per modificare il riferimento al codice aziendale in Database di test, disponibile nel valore della colonna INTERID per la società di test in Dynamics. SY01500 tabella).

  • Se si usano cespiti per Microsoft Dynamics GP, le informazioni di configurazione della società cespiti non verranno riportate nella società di test. Per risolvere questo problema, aprire la finestra Setup società cespiti nella società attiva e prendere nota delle impostazioni. Aprire la finestra Setup società cespiti nella società di test e immettere le stesse impostazioni di Live Company. Per aprire la finestra, usare quella seguente:

    • Microsoft Dynamics GP 10.0 o versione successiva:
      Selezionare Microsoft Dynamics GP, scegliere Strumenti, Programma di installazione, Sistema, Cespiti e quindi Società.
  • Se si usano audit trail per Microsoft Dynamics GP, è necessario eliminare i trigger di controllo dalla società di test usando SQL e non dal front-end. Audit Trail è solo trigger copiati e ancora puntati allo stesso database di controllo live. Tuttavia, non eliminare, arrestare o rimuovere il controllo nella finestra Manutenzione audit trail nella società di test oppure cancella la cronologia nella tabella di controllo e/o rimuove il trigger nella società attiva. Per rimuovere i trigger di audit trail dalla società di test, fare riferimento alla procedura descritta in Come arrestare i trigger audit trail nella società di test dall'aggiornamento del database di controllo live usando Audit Trail in Microsoft Dynamics GP.

  • Se si usa Analytical Accounting (AA), è necessario prima attivare AA nella società di test prima di copiare il database attivo (con AA attivo). Seguire la procedura descritta in How to create a test company with Analytical Accounting installed using Microsoft Dynamics GP (Come creare una società di test con Analytical Accounting installato con Microsoft Dynamics GP).

    Nota

    Dopo il ripristino, non dimenticare di eseguire i due script indicati nel blog: il primo ad aggiornare l'INTERID (dal passaggio 6 seguente in questo articolo e anche lo script per aggiornare i numeri disponibili successivi archiviati nella tabella AAG00102 (per evitare errori di chiave duplicata durante la keying di nuove transazioni).

  • Se si usa Management Reporter 2012, è necessario arrestare i servizi di Management Reporter che è possibile eseguire usando una delle opzioni seguenti:

    1. Nella console di configurazione di Management Reporter 2012, nella prima pagina, verranno visualizzati sia management reporter 2012 Application Service che Management Reporter 2012 Process Service. Selezionare Arresta in questi due servizi per arrestarli.

    2. Selezionare Start, selezionare Pannello di controllo, selezionare Strumenti di amministrazione e quindi selezionare per aprire Servizi. Nella finestra Servizi evidenziare il servizio applicazione Management Reporter 2012 e selezionare il collegamento Arresta questo servizio. Evidenziare anche il servizio di elaborazione Management Reporter 2012 e selezionare anche il collegamento Arresta questo servizio.

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, Include, a titolo esemplificativo, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. I tecnici di supporto tecnico Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, Tuttavia, non modificheranno questi esempi per fornire funzionalità o procedure di costruzione aggiunte per soddisfare i requisiti specifici.

Per configurare la società di test, seguire questa procedura:

  1. In Utilità creare un nuovo database aziendale che è possibile usare come società di test. Assicurarsi di assegnare al database un ID db/società univoco e il nome della società che designeranno il database come società di test. Ad esempio, è possibile usare un ID database/società di TEST e un nome della società test company.

    Nota

    Percorso in cui vengono creati i file .mdf e ldf del database. Queste informazioni saranno necessarie per un passaggio più avanti in questo articolo.

  2. Accedere alla società di test. In Microsoft Dynamics GP selezionare Microsoft Dynamics GP, strumenti,installazione, sistema e infine Accesso utente.

  3. Nell'area Accesso utente selezionare l'utente a cui si vuole concedere l'accesso al database aziendale di test. Selezionare quindi la casella di controllo accanto al nome della società di test per concedere l'accesso al database della società di test. Ripetere questo passaggio per tutti gli utenti a cui si vuole concedere l'accesso al database aziendale di test. A tale scopo, usare il passaggio seguente.

    • Microsoft Dynamics GP: selezionare Microsoft Dynamics GP, strumenti,installazione, sistema e infine accesso utente.
  4. Eseguire un backup del database aziendale attivo.

    Se si usa SQL Server Management Studio, seguire questa procedura:

    1. Selezionare Start e quindi Programmi.
    2. Scegliere Microsoft SQL Server e quindi selezionare SQL Server Management Studio. Verrà visualizzata la finestra Connetti al server.
    3. Nella casella Nome server digitare il nome dell'istanza di SQL Server.
    4. Nell'elenco Autenticazione selezionare Autenticazione SQL.
    5. Nella casella Nome utente digitare sa.
    6. Nella casella Password digitare la password per l'utente sa e quindi selezionare Connetti.
    7. Nella sezione Esplora oggetti espandere Database.
    8. Fare clic con il pulsante destro del mouse sul database aziendale attivo, scegliere Attività e quindi selezionare Backup.
    9. Nell'area Destinazione selezionare Rimuovi e quindi aggiungi.
    10. Nell'area Destinazione su disco selezionare il pulsante con i puntini di sospensione .
    11. Trovare il percorso in cui si vuole creare il file di backup, digitare un nome per il file di backup, ad esempio LIVE.bak, e quindi selezionare OK.
    12. Selezionare ripetutamente OK fino a tornare alla finestra Backup database .
    13. Selezionare OK per avviare il backup.
  5. Ripristinare il file di backup aziendale attivo creato nel passaggio 4 nel database aziendale di test.

    Se si usa SQL Server Management Studio, seguire questa procedura:

    1. Selezionare Start e quindi Programmi.

    2. Scegliere Microsoft SQL Server e quindi selezionare SQL Server Management Studio. Verrà visualizzata la finestra Connetti al server.

    3. Nella casella Nome server digitare il nome dell'istanza di SQL Server.

    4. Nell'elenco Autenticazione selezionare Autenticazione SQL.

    5. Nella casella Nome utente digitare sa.

    6. Nella casella Password digitare la password per l'utente sa e quindi selezionare Connetti.

    7. Nella sezione Esplora oggetti espandere Database.

    8. Fare clic con il pulsante destro del mouse sul database aziendale di test, scegliere Attività, Ripristinare e quindi database.

    9. Nell'area Origine per il ripristino selezionare Da dispositivo e quindi selezionare il pulsante con i puntini di sospensione .

    10. Nell'area Percorso backup selezionare Aggiungi.

    11. Trovare il percorso in cui è stato salvato il file di backup, selezionare LIVE.bak file e quindi selezionare OK.

    12. Selezionare OK. Tornare alla finestra Ripristina database.

    13. Nella sezione Selezionare i set di backup da ripristinare selezionare il file di backup da ripristinare.

    14. Nell'area Selezionare una pagina selezionare File.

    15. Nell'area Ripristina file di database come è necessario modificare il percorso di questi due file dal database Live ai file .mdf e ldf del database di test. Per impostazione predefinita, verranno selezionati nei file .mdf e ldf del database live.

      Nota

      Il nome del file logico riflette il nome del database attivo. Non modificare il nome del file logico.

    16. Per modificare questi percorsi, selezionare l'ellisse (...) accanto al campo percorso del file.

    17. Passare al percorso annotato nel passaggio 1, in cui è stato creato il database di test.

    18. Evidenziare il rispettivo file .mdf e quindi selezionare OK.

    19. Ripetere i passaggi da 16 a 18, selezionare il file con estensione ldf e quindi selezionare OK.

    20. Selezionare la scheda Opzioni per selezionare la casella di controllo Sovrascrivi database esistente .

    21. Selezionare OK per tornare alla finestra Ripristina database

    Se si usa Microsoft Dynamics GP 10.0 o versione successiva, seguire questa procedura per copiare le autorizzazioni di sicurezza dalla società attiva alla società di test:

    1. Accedere a Microsoft Dynamics GP come utente sa.

    2. Selezionare Microsoft Dynamics GP, scegliere Strumenti, Installazione, Sistema e quindi Accesso utente.

    3. Selezionare un utente appropriato e quindi assicurarsi che la casella di controllo per la nuova società di test sia selezionata per indicare che l'accesso è concesso.

      Nota

      Se viene visualizzato un messaggio di errore quando si seleziona una società, eliminare l'utente dalla cartella Utenti nel nuovo database di test in SQL Server Management Studio.

    4. Selezionare Microsoft Dynamics GP, scegliere Strumenti, Installazione, Sistema e quindi Sicurezza utente.

    5. Nella finestra Configurazione attività di sicurezza selezionare l'utente a cui si vuole accedere alla società di test.

    6. Nell'elenco Società selezionare la società attiva.

    7. Selezionare Copia, selezionare la casella di controllo accanto alla società di test e quindi selezionare OK.

      Le autorizzazioni dell'utente nella società dinamica vengono copiate nella società di test.

  6. Dopo il ripristino del database aziendale attivo nella parte superiore del database della società di test, la società di test contiene i riferimenti contenenti le stesse informazioni COMPANYID e INTERID dell'azienda attiva. Per riflettere correttamente le informazioni per la società di test, eseguire lo script seguente nella società di test in Analizzatore query o in SQL Server Management Studio. Questo script aggiorna COMPANYID e INTERID nel database di test con le informazioni elencate nel database di sistema SY01500 tabella per questa società di 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
    

    Nota

    Se questo script ha esito negativo con un errore di chiave duplicata, è necessario modificare manualmente le colonne INTERID e COMPANYID nella tabella in cui si riceve l'errore di chiave primaria nella società di test.

    Ad esempio: errore del vincolo di chiave primaria in PKRVLPD033. Per eseguire correttamente una ricerca della tabella, il prefisso PK fa riferimento alla chiave primaria e non fa parte del nome della tabella. In questo esempio la tabella da verificare è RVLPD033 per il database.

    Nota

    Se si usano risorse umane, è anche necessario modificare il valore COMPANYCODE_I nella tabella TAST0130. Per altre informazioni, vedere la sezione NOTE nella parte superiore di questo articolo.

  7. Verificare che il proprietario del database di test sia DYNSA. A tale scopo, eseguire lo script seguente nella società di test in Query Analyzer o in SQL Server Management Studio:

    sp_changedbowner 'DYNSA'
    
  8. Se si usa la funzionalità di drill-down nei report integrati SQL Server Reporting Services o Excel, è necessario eseguire le operazioni seguenti per aggiornare i collegamenti del server in modo che i drill-down funzionino dopo la modifica del database:

    • Assicurarsi che tutti gli utenti si siano disconnessi da Microsoft Dynamics GP e chiudere tutte le istanze di SQL Server Management Studio
    • In un computer in cui è installato Dynamics GP selezionare Avvia, quindi scegliere Tutti i programmi. Selezionare Microsoft Dynamics, quindi Criteri di gruppo e manutenzione database.
    • Quando si apre l'utilità, selezionare o immettere l'istanza di SQL Server in cui sono archiviati i database di Dynamics GP. Se si è connessi come account di dominio con diritti per questa istanza di SQL Server, è possibile selezionare questa opzione. In caso contrario, selezionare Autenticazione SQL e immettere un nome utente e una password appropriati. Quindi selezionare Avanti >>
    • Selezionare Contrassegna tutto per scegliere ognuno dei database di Dynamics GP e selezionare Avanti >>
    • Selezionare il prodotto Microsoft Dynamics GP, quindi selezionare Avanti >>
    • Selezionare Funzioni e stored procedure e viste, quindi selezionare Avanti >>.
    • Esaminare la finestra di conferma, quindi selezionare Avanti >> per avviare il processo.

    La società di test deve ora avere una copia dei dati aziendali live ed essere pronta per l'uso.

Riferimenti

Per altre informazioni, vedere Configurare una società di test con una copia dei dati aziendali live usando Microsoft Dynamics GP in MSDE 2000, SQL Server 2005 Express, SQL Server 2008 Express o SQL Server 2012 Express.