RESUMEN
Para probar ciertos problemas, una técnica de solución de problemas puede ser copiar la base de datos de Live Company en una base de datos de Empresa de prueba. En este artículo se describe cómo configurar una empresa de prueba que tiene una copia de los datos de la empresa activa mediante Microsoft SQL Server.
MÁS INFORMACIÓN
Notas
- Si utiliza Notas de nivel de registro – en su empresa en vivo existente y planea usarlas en la compañía de prueba, debe ejecutar la utilidad NoteFix.
- Si está utilizando Recursos humanos para Microsoft Dynamics GP, la información de configuración de asistencia parece no haberse copiado. Para abrir esta ventana, haga clic en Herramientas, seleccione Instalación, Recursos humanos, Asistencia y, a continuación, haga clic en Configuración. Esta tabla (TAST0130) se copia, pero contiene un campo que sigue haciendo referencia a la base de datos de Live Company. Para corregir este problema, simplemente puede volver a escribir los datos en la ventana Configuración de asistencia en la nueva base de datos de la empresa de prueba para que contengan la misma información que antes y guardarla. O bien, puede optar por actualizar el campo COMPANYCODE_I en la tabla TAST0130 para cambiar la referencia del código de la empresa a la base de datos de prueba en su lugar (que se puede encontrar en el valor de la columna INTERID para la empresa de prueba en Dynamics. Tabla SY01500).
- Si está utilizando activos fijos para Microsoft Dynamics GP, la información de configuración de la empresa de activos fijos no se llevará a la empresa de prueba. Para corregir este problema, abra la ventana Configuración de la empresa de activos fijos en Live Company y anote la configuración. Abra la ventana Configuración de la empresa de activos fijos en la empresa de prueba e introduzca la misma configuración que la empresa activa. Para abrir la ventana, utilice lo siguiente:
- Microsoft Dynamics GP 10.0 o una versión posterior: Haga clic en Microsoft Dynamics GP, seleccione Herramientas, seleccione Instalación, seleccione Sistema, activos fijos y, a continuación, haga clic en Empresa.
- Si usa pistas de auditoría para Microsoft Dynamics GP, debe eliminar los desencadenadores de auditoría de la empresa de prueba mediante SQL y no del front-end. Pistas de auditoría son solo desencadenadores que se copian y aún apuntan a la misma base de datos de auditoría en vivo. Sin embargo, no elimine, detenga ni elimine la auditoría en la ventana Mantenimiento de seguimiento de auditoría en la empresa de prueba, o esto borrará el historial en la tabla de auditoría y/o eliminará el desencadenador en la empresa activa.
- Si está utilizando la contabilidad analítica (AA), primero debe activar AA en la empresa de prueba antes de copiar sobre la base de datos activa (que tiene AA activa). Sigue los pasos de este blog:
Cómo crear una empresa TEST con AA instalado
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 a continuación en este artículo, y también el script para actualizar los ‘próximos números disponibles’ almacenados en la tabla AAG00102 (para evitar errores de clave duplicada al introducir nuevas transacciones).
- Si está utilizando Reporte de Gestión 2012, debe detener los servicios de Reportero de Gestión, lo que se puede hacer utilizando cualquiera de las siguientes opciones:
- En la consola de configuración de Reportero de Gestión 2012, en la primera página, verá el servicio de aplicaciones de Reportero de Gestión 2012 y el servicio de procesos de Reportero de Gestión 2012. Haga clic en Detener debajo de estos dos servicios para detenerlos.
- Haga clic en Inicio, haga clic en Panel de control, haga clic en Herramientas administrativas y, a continuación, haga clic para abrir Servicios. En la ventana Servicios, resalte el servicio de aplicación de Reportero de Gestión 2012 y haga clic en el vínculo para detener este servicio. Además, resalte el servicio de procesos de Reportero de Gestión 2012 y haga clic en el vínculo para detener este servicio también.
Microsoft proporciona ejemplos de programación solo a título ilustrativo, sin garantía expresa ni implícita. Esto incluye, pero no se limita a, las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. En este artículo se supone que está familiarizado con el lenguaje de programación que se está demostrando y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden ayudar a explicar la funcionalidad de un procedimiento determinado. Sin embargo, no modificarán estos ejemplos para proporcionar funcionalidad adicional o construir procedimientos para cumplir con sus requisitos específicos.
Para configurar la empresa de prueba, siga estos pasos:
1. En Utilidades, cree una nueva base de datos de empresa que pueda usar como empresa de prueba. Asegúrese de dar a la base de datos un ID de base de datos/empresa única y un nombre de empresa que designe la base de datos como empresa de prueba. Por ejemplo, puede utilizar un ID de base de datos/empresa de «TEST» y un nombre de empresa de «TEST COMPANY».
Nota: la 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 prueba. En Microsoft Dynamics GP, haga clic en Microsoft Dynamics GP, haga clic en Herramientas, haga clic en Instalación, haga clic en Sistema y, a continuación, haga clic en 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, haga clic para activar la casilla de verificación 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 desee conceder acceso a la base de datos de la empresa de prueba. Para ello, siga el paso siguiente.
Microsoft Dynamics GP: Haga clic en Microsoft Dynamics GP, haga clic en Herramientas, haga clic en Configuración, haga clic en Sistema y, a continuación, haga clic en Acceso de usuario.
4. Haga una copia de seguridad de la base de datos de la empresa en vivo.
- Haga clic en Inicio y, a continuación, haga clic en Programas.
- Seleccione Microsoft SQL Server y, a continuación, haga clic en SQL Server Management Studio. Se abrirá la ventana Conectar al servidor.
- En el cuadro Nombre del servidor, escriba el nombre de la instancia de SQL Server.
- En la lista Autenticación, haga clic en
Autenticación SQL. - En el cuadro Nombre de usuario, escriba sa.
- En el cuadro Contraseña, escriba la contraseña del usuario sa y, a continuación, haga clic en Conectar.
- En la sección Explorador de objetos, expanda Bases de datos.
- Haga clic con el botón secundario en la base de datos de la empresa activa, seleccione
Tareas y, a continuación, haga clic en Copia de seguridad. - En el área Destino, haga clic en Quitar y, a continuación, haga clic en Agregar.
- En el área Destino en disco, haga clic en el botón de puntos suspensivos.
- 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, haga clic en Aceptar.
- Haga clic en Aceptar varias veces hasta que vuelva a la ventana Copia de seguridad de la base de datos.
- Haga clic en Aceptar para iniciar la copia de seguridad.
5. Restaure el archivo de copia de seguridad de la 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:
- Haga clic en Inicio y, a continuación, haga clic en Programas.
- Seleccione Microsoft SQL Server y, a continuación, haga clic en SQL Server Management Studio. Se abrirá la ventana Conectar al servidor.
- En el cuadro Nombre del servidor, escriba el nombre de la instancia de SQL Server.
- En la lista Autenticación, haga clic en Autenticación SQL.
- En el cuadro Nombre de usuario, tipo sa.
- En el cuadro Contraseña, escriba la contraseña del usuario sa y, a continuación, haga clic en Conectar.
- En la sección Explorador de objetos, expanda Bases de datos.
- Haga clic con el botón secundario en la base de datos de la empresa activa, seleccione Tareas y, a continuación, haga clic en Copia de seguridad.
- En el área Destino, haga clic en Quitar y, a continuación, haga clic en Agregar.
- En el área Destino en disco, haga clic en el botón de puntos suspensivos.
- Busque la ubicación donde guardó el archivo de copia de seguridad, seleccione LIVE.bak archivo y, a continuación, haga clic en Aceptar.
- Haga clic en Aceptar. Vuelva a la ventana Restaurar base de datos.
- En la sección Seleccione los conjuntos de copia de seguridad para restaurar, haga clic en el archivo de copia de seguridad que desea restaurar.
- En el área Seleccionar una página, haga clic en Archivo.
- En el área Restaurar archivos de base de datos como, deberá 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 Live.
Nota: El nombre de archivo lógico refleja el nombre de la base de datos activa. No cambie el nombre del archivo lógico.
- Para cambiar estas ubicaciones, haga clic en la elipse (…) junto al campo ubicación del archivo.
- Desplácese hasta la ruta de acceso que anotó en el paso 1, donde se creó la base de datos de prueba.
- Resalte el archivo .mdf correspondiente y, a continuación, haga clic en
Aceptar. - Repita los pasos 16 a 18, seleccione el archivo .ldf y, a continuación, haga clic en Aceptar.
- Haga clic en la ficha Opciones para activar la casilla de verificación Sobrescribir la base de datos existente.
- Haga clic en Aceptar para volver a la ventana Restaurar base de datos.
Si está utilizando Microsoft Dynamics GP 10.0 o posterior, siga estos pasos para copiar los permisos de seguridad de la empresa activa a la empresa de prueba.
- Inicie sesión en Microsoft Dynamics GP como usuario sa.
- Haga clic en Microsoft Dynamics GP, seleccione Herramientas, Seleccione Instalación, Seleccione Sistema y, a continuación, haga clic en Acceso de usuario.
- Seleccione un usuario adecuado y, a continuación, asegúrese de que la casilla de verificación de la nueva empresa de prueba está seleccionada para indicar que se concede acceso.
Nota: Si recibe un mensaje de error al hacer clic para seleccionar una empresa, elimine el usuario de la carpeta Usuarios en la nueva base de datos de prueba en SQL Server Management Studio.
- Haga clic en Microsoft Dynamics GP, seleccione Herramientas, Seleccione Instalación, Seleccione Sistema y, a continuación, haga clic en Seguridad del usuario.
- En la ventana Configuración de tareas de seguridad, seleccione el usuario al que desea tener acceso a la empresa de prueba.
- En la lista Empresa, haga clic en la empresa activa.
- Haga clic en Copiar, haga clic para activar la casilla de verificación que se encuentra junto a la empresa de prueba y, a continuación, haga clic en 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 la empresa activa en la parte superior de la base de datos de la empresa de prueba, la empresa de prueba contiene referencias que tienen la misma información COMPANYID e INTERID que la empresa activa. Para reflejar correctamente la información de la empresa de prueba, ejecute el siguiente script siguiente en la empresa de prueba 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 aparece en la tabla SY01500 de la base de datos del sistema 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 este script falla con un error de clave duplicada, debe cambiar manualmente las columnas INTERID y COMPANYID en la tabla en la que está recibiendo el error de clave principal en la empresa de prueba.
Por ejemplo: Un 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 es «RVLPD033» para esa base de datos.
Nota: Si está utilizando Recursos humanos, también debe cambiar el valor COMPANYCODE_I en la tabla TAST0130. Consulte la sección NOTAS en la parte superior de este artículo para obtener más información.
7. Compruebe que el propietario de la base de datos de prueba es DYNSA. Para ello, ejecute el siguiente script en la empresa de prueba en el Analizador de consultas o en SQL Server Management Studio:
sp_changedbowner 'DYNSA'
8. Si utiliza la funcionalidad de desglose 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 desgloses funcionen después del cambio de la base de datos:
- Asegúrese de que todos hayan cerrado la sesión de Microsoft Dynamics GP y cierre todas las instancias de SQL Server Management Studio
- En una máquina donde está instalado Dynamics GP, haga clic en Inicio y, a continuación, seleccione Todos los programas. Haga clic en Microsoft Dynamics, luego en GP y haga clic en 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 SQL e introduzca un nombre de usuario y una contraseña adecuados. A continuación, haga clic en Siguiente >>
- Seleccione Marcar todo para elegir cada una de las bases de datos de Dynamics GP y haga clic en Siguiente >>
- Seleccione el producto Microsoft Dynamics GP y, a continuación, haga clic en Siguiente >>
- Seleccione ‘Funciones y procedimientos almacenados’ y ‘Vistas’, luego haga clic en Siguiente >>
- Revise la ventana de confirmación y, a continuación, haga clic en siguiente >> para comenzar el proceso.
La compañía de prueba ahora debe tener una copia de los datos de la compañía en vivo y estar lista para su uso.