Configuración de una empresa de prueba que tenga una copia de datos de la empresa en directo para Microsoft Dynamics GP mediante Microsoft SQL Server

En este artículo se describe cómo configurar una empresa de prueba que tiene una copia de datos de la empresa en directo mediante Microsoft SQL Server.

Se aplica a: Microsoft Dynamics GP
Número de KB original: 871973

Resumen

Para probar determinados problemas, una técnica de solución de problemas puede ser copiar la base de datos live company en una base de datos de empresa de prueba.

Más información

Notas:

  • Si usa recursos humanos para Microsoft Dynamics GP, parece que la información de configuración de asistencia no se ha copiado. Para abrir esta ventana, seleccione Herramientas, elija Configuración, Recursos humanos, Asistencia y, después, Configuración. Esta tabla (TAST0130) se copia, pero contiene un campo que todavía hace referencia a la base de datos live company. Para corregir este problema, puede volver a escribir los datos en la ventana Configuración de asistencia en la nueva base de datos de la empresa de pruebas para que contengan la misma información que antes y guardarla. O bien, puede optar por actualizar el campo COMPANYCODE_I de la tabla TAST0130 para cambiar la referencia de código de empresa a Base de datos de prueba en su lugar (que se puede encontrar en el valor de columna INTERID de la empresa test en Dynamics). SY01500 tabla).

  • Si usa activos fijos para Microsoft Dynamics GP, la información de configuración de la empresa de activos fijos no se devolverá a la empresa de pruebas. Para corregir este problema, abra la ventana Configuración de empresa de activos fijos en Live Company y anote la configuración. Abra la ventana Configuración de empresa de activos fijos en la compañía de prueba y escriba la misma configuración que live company. Para abrir la ventana, use la siguiente:

    • Microsoft Dynamics GP 10.0 o una versión posterior:
      Seleccione Microsoft Dynamics GP, herramientas, configuración,sistema, activos fijos y, a continuación, empresa.
  • Si usa seguimientos de auditoría para Microsoft Dynamics GP, debe eliminar los desencadenadores de auditoría de la empresa de prueba mediante SQL y no desde el front-end. Los seguimientos de auditoría son simplemente desencadenadores que se copian y siguen apuntando a la misma base de datos de auditoría activa. Sin embargo, no elimine, detenga ni quite la auditoría en la ventana Mantenimiento de seguimiento de auditoría de la empresa de pruebas, o borrará el historial de la tabla de auditoría o quitará el desencadenador en la empresa activa. Para quitar los desencadenadores de seguimiento de auditoría de la empresa de pruebas, consulte los pasos descritos en How to stop Audit Trail triggers in the test company from update the live audit database using Audit Trails in Microsoft Dynamics GP (Cómo impedir que los desencadenadores de Audit Trail de la empresa de prueba actualicen la base de datos de auditoría activa mediante seguimientos de auditoría en Microsoft Dynamics GP).

  • Si usa la contabilidad analítica (AA), primero debe activar AA en la empresa de pruebas antes de copiar a través de la base de datos activa (que tiene AA activo). Siga los pasos descritos en Creación de una empresa de prueba con la contabilidad analítica instalada mediante Microsoft Dynamics GP.

    Nota:

    Después de la restauración, no olvide ejecutar los dos scripts mencionados en el blog: el primero para actualizar el INTERID (del paso 6 siguiente de este artículo, y también el script para actualizar los siguientes números disponibles almacenados en la tabla AAG00102 (para evitar errores de clave duplicada al escribir nuevas transacciones).

  • Si usa Management Reporter 2012, debe detener los servicios de Management Reporter que se pueden realizar mediante cualquiera de las siguientes opciones:

    1. En la consola de configuración de Management Reporter 2012, en la primera página, verá el servicio de aplicaciones de Management Reporter 2012 y el servicio de procesos de Management Reporter 2012. Seleccione Detener en estos dos servicios para detenerlos.

    2. Seleccione Inicio, Panel de control, Herramientas administrativas y Servicios. En la ventana Servicios, resalte management reporter 2012 Application Service y seleccione el vínculo para detener este servicio. Además, resalte el servicio de procesos de Management Reporter 2012 y seleccione también el vínculo para detener este servicio.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Incluye, pero no se limita a, las garantías implícitas de comerciabilidad o idoneidad para un propósito determinado. En este artículo se da por supuesto que está familiarizado con el lenguaje de programación que se muestra y con las herramientas empleadas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para proporcionar funcionalidad adicional ni procedimientos de construcción para satisfacer sus requisitos específicos.

Para configurar la empresa de pruebas, siga estos pasos:

  1. En Utilidades, cree una base de datos de empresa que pueda usar como empresa de prueba. Asegúrese de proporcionar a la base de datos un identificador único de base de datos o empresa y un nombre de empresa que designe la base de datos como una empresa de prueba. Por ejemplo, podría usar un identificador de base de datos o empresa de TEST y un nombre de empresa de TEST COMPANY.

    Nota:

    Ruta de acceso donde se crean los archivos .mdf y .ldf de la base de datos. Necesitará esta información para un paso más adelante en este artículo.

  2. Inicie sesión en la empresa de pruebas. En Microsoft Dynamics GP, seleccione Microsoft Dynamics GP, herramientas, configuración,sistema y acceso de usuario.

  3. En el área Acceso de usuario , seleccione el usuario al que desea conceder acceso a la base de datos de la empresa de prueba. A continuación, active la casilla situada junto al nombre de la empresa de prueba para conceder acceso a la base de datos de la empresa de prueba. Repita este paso para todos los usuarios a los que quiera conceder acceso a la base de datos de la empresa de prueba. Para ello, use el paso siguiente.

    • Microsoft Dynamics GP: seleccione Microsoft Dynamics GP, herramientas, configuración,sistema y acceso de usuario.
  4. Realice una copia de seguridad de la base de datos de la empresa activa.

    Si usa SQL Server Management Studio, siga estos pasos:

    1. Seleccione Inicio y, después, Programas.
    2. Seleccione Microsoft SQL Server y, a continuación, seleccione SQL Server Management Studio. Se abre la ventana Conectar al servidor.
    3. En el cuadro Nombre del servidor, escriba el nombre de la instancia de SQL Server.
    4. En la lista Autenticación , seleccione Autenticación de SQL.
    5. En el cuadro Nombre de usuario , escriba sa.
    6. En el cuadro Contraseña , escriba la contraseña del usuario sa y, a continuación, seleccione Conectar.
    7. En la sección Explorador de objetos, expanda Bases de datos.
    8. Haga clic con el botón derecho en la base de datos de la empresa activa, seleccione Tareas y, a continuación, seleccione Copia de seguridad.
    9. En el área Destino , seleccione Quitar y, a continuación, seleccione Agregar.
    10. En el área Destino en disco , seleccione el botón de puntos suspensivos .
    11. Busque la ubicación donde desea crear el archivo de copia de seguridad, escriba un nombre para el archivo de copia de seguridad, como LIVE.bak y, a continuación, seleccione Aceptar.
    12. Seleccione Aceptar repetidamente hasta que vuelva a la ventana Base de datos de copia de seguridad.
    13. Seleccione Aceptar para iniciar la copia de seguridad.
  5. Restaure el archivo de copia de seguridad de empresa activa que creó en el paso 4 en la base de datos de la empresa de prueba.

    Si usa SQL Server Management Studio, siga estos pasos:

    1. Seleccione Inicio y, después, Programas.

    2. Seleccione Microsoft SQL Server y, a continuación, seleccione SQL Server Management Studio. Se abre la ventana Conectar al servidor.

    3. En el cuadro Nombre del servidor, escriba el nombre de la instancia de SQL Server.

    4. En la lista Autenticación , seleccione Autenticación de SQL.

    5. En el cuadro Nombre de usuario , escriba sa.

    6. En el cuadro Contraseña , escriba la contraseña del usuario sa y, a continuación, seleccione Conectar.

    7. En la sección Explorador de objetos, expanda Bases de datos.

    8. Haga clic con el botón derecho en la base de datos de la empresa de prueba, seleccione Tareas, Restaurary, a continuación, seleccione Base de datos.

    9. En el área Origen para restaurar , seleccione Desde el dispositivo y, a continuación, seleccione el botón de puntos suspensivos .

    10. En el área Ubicación de copia de seguridad , seleccione Agregar.

    11. Busque la ubicación donde guardó el archivo de copia de seguridad, seleccione LIVE.bak archivo y, a continuación, seleccione Aceptar.

    12. Seleccione Aceptar. Vuelva a la ventana Restaurar base de datos.

    13. En la sección Seleccionar conjuntos de copia de seguridad para restaurar , seleccione el archivo de copia de seguridad que desea restaurar.

    14. En el área Seleccionar una página , seleccione Archivo.

    15. En el área Restaurar archivos de base de datos como, tendrá que cambiar la ubicación de estos dos archivos de la base de datos live a los archivos .mdf y .ldf de la base de datos de prueba. De forma predeterminada, se seleccionarán en los archivos .mdf y .ldf de la base de datos dinámica.

      Nota:

      El nombre del archivo lógico refleja el nombre de la base de datos activa. No cambie el nombre del archivo lógico.

    16. Para cambiar estas ubicaciones, seleccione la elipse (...) junto al campo de ubicación del archivo.

    17. Vaya a la ruta de acceso que anotó en el paso 1, donde se creó la base de datos de prueba.

    18. Resalte el archivo .mdf correspondiente y, a continuación, seleccione Aceptar.

    19. Repita los pasos del 16 al 18, seleccione el archivo .ldf y, a continuación, seleccione Aceptar.

    20. Seleccione la pestaña Opciones para activar la casilla Sobrescribir base de datos existente .

    21. Seleccione Aceptar para volver a la ventana Restaurar base de datos.

    Si usa Microsoft Dynamics GP 10.0 o posterior, siga estos pasos para copiar los permisos de seguridad de la empresa activa en la empresa de prueba:

    1. Inicie sesión en Microsoft Dynamics GP como usuario sa.

    2. Seleccione Microsoft Dynamics GP, herramientas, configuración,sistema y acceso de usuario.

    3. Seleccione un usuario adecuado y, a continuación, asegúrese de que la casilla de la nueva empresa de pruebas está seleccionada para indicar que se concede acceso.

      Nota:

      Si recibe un mensaje de error al seleccionar una empresa, elimine el usuario de la carpeta Usuarios en la nueva base de datos de prueba de SQL Server Management Studio.

    4. Seleccione Microsoft Dynamics GP, herramientas, configuración,sistema y seguridad del usuario.

    5. En la ventana Configuración de tareas de seguridad, seleccione el usuario al que desea tener acceso a la empresa de prueba.

    6. En la lista Empresa , seleccione la empresa activa.

    7. Seleccione Copiar, active la casilla que está junto a la empresa de pruebas y, a continuación, seleccione Aceptar.

      Los permisos del usuario en la empresa activa se copian en la empresa de prueba.

  6. Una vez restaurada la base de datos de empresa activa sobre la base de datos de la empresa de prueba, la empresa de pruebas contiene referencias que tienen la misma información de COMPANYID e INTERID que la empresa activa. Para reflejar correctamente la información de la empresa de pruebas, ejecute el siguiente script en la empresa de pruebas en el Analizador de consultas o en SQL Server Management Studio. Este script actualiza companyid e INTERID en la base de datos de prueba con la información que se muestra en la base de datos del sistema SY01500 tabla para esta empresa de prueba.

    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:

    Si se produce un error de clave duplicado en este script, debe cambiar manualmente las columnas INTERID y COMPANYID de la tabla en la que recibe el error de clave principal en la empresa de prueba.

    Por ejemplo: error de restricción de clave principal en PKRVLPD033. Para realizar correctamente una búsqueda de la tabla, el prefijo, PK, hace referencia a la clave principal y no forma parte del nombre de la tabla. En este ejemplo, la tabla que desea comprobar se RVLPD033 para esa base de datos.

    Nota:

    Si usa Recursos humanos, también debe cambiar el valor de COMPANYCODE_I en la tabla TAST0130. Para obtener más información, consulte la sección NOTAS en la parte superior de este artículo.

  7. Compruebe que el propietario de la base de datos de prueba es DYNSA. Para ello, ejecute el siguiente script en la empresa de pruebas en el Analizador de consultas o en SQL Server Management Studio:

    sp_changedbowner 'DYNSA'
    
  8. Si usa la funcionalidad de obtención de detalles en los informes integrados de SQL Server Reporting Services o Excel, debe hacer lo siguiente para actualizar los vínculos del servidor para que los detalles funcionen después del cambio de base de datos:

    • Asegúrese de que todos los usuarios hayan cerrado sesión en Microsoft Dynamics GP y cierren todas las instancias de SQL Server Management Studio
    • En una máquina donde esté instalado Dynamics GP, seleccione Inicio y, a continuación, seleccione Todos los programas. Seleccione Microsoft Dynamics, GP y mantenimiento de base de datos.
    • Cuando se abra la utilidad, seleccione o escriba la instancia de SQL Server donde se almacenan las bases de datos de Dynamics GP. Si ha iniciado sesión como una cuenta de dominio con derechos para esta instancia de SQL Server, puede seleccionar esa opción. De lo contrario, seleccione Autenticación de SQL y escriba un nombre de usuario y una contraseña adecuados. A continuación, seleccione Siguiente. >>
    • Seleccione Marcar todo para elegir cada una de las bases de datos de Dynamics GP y seleccione Siguiente>>.
    • Seleccione el producto Microsoft Dynamics GP y, a continuación, seleccione Siguiente. >>
    • Seleccione Funciones y procedimientos almacenados y vistas y, a continuación, seleccione Siguiente >>.
    • Revise la ventana de confirmación y seleccione Siguiente >> para comenzar el proceso.

    La empresa de prueba debe tener ahora una copia de los datos de la empresa en directo y estar lista para su uso.

Referencias

Para obtener más información, consulte Configuración de una empresa de prueba que tenga una copia de datos de la empresa en directo mediante Microsoft Dynamics GP en MSDE 2000, SQL Server 2005 Express, SQL Server 2008 Express o SQL Server 2012 Express.