# Herramienta de migración de base de datos Utilice esta herramienta para migrar datos entre dos bases de datos (de Postgres a MSSQL y viceversa), así como entre sistemas operativos (de Linux a Windows y viceversa). Puede realizar las siguientes migraciones de datos con esta herramienta: - Migración entre bases de datos (Postgres a MSSQL o MSSQL a Postgres) - Migración del servidor de base de datos MSSQL de un servidor de base de datos a otro. ## Migraciones de base de datos posibles **Postgres a MSSQL**: Los datos pueden migrarse entre dos bases de datos de la misma instalación, así como de instalaciones diferentes. **MSSQL a Postgres**: Los datos pueden migrarse entre dos bases de datos de la misma instalación, así como de instalaciones diferentes. **MSSQL a MSSQL**: Los datos pueden migrarse entre dos bases de datos en diferentes servidores. | Enlaces rápidos | |---| | [Migración a la base de datos MSSQL](https://www.manageengine.com/database-migration-tool$mssql) | | [Migración a la base de datos PostgreSQL](https://www.manageengine.com/database-migration-tool$postgres) | | ├─ [Migración a la base de datos PostgreSQL integrada](https://www.manageengine.com/database-migration-tool$bundled-postgres) | | │ ├─ [Misma instalación](https://www.manageengine.com/database-migration-tool$same-bundle-postgres) | | │ └─ [Instalación diferente](https://www.manageengine.com/database-migration-tool$bundle-postgres-different) | | └─ [Migración a una base de datos PostgreSQL externa](https://www.manageengine.com/database-migration-tool$external-postgres) | **Nota**: Postgres - Postgres > Se puede realizar una copia de seguridad manual y restaurarla si necesita restaurar en un servidor diferente. ## Migración a la base de datos MSSQL: Siga los pasos a continuación si la base de datos de destino es MSSQL o si está migrando a una base de datos MSSQL. ### Paso 1: Detener el servicio de la application: - Detenga el servicio de la application antes de iniciar el proceso de migración. ### Paso 2: Ejecutar el script de migración: - Ejecute el script `migrateDB.bat/sh` ubicado en `{build_dir}/bin`. - Proporcione los detalles en modo consola usando `migrateDB.bat/sh --console`. - Elija la opción 2 si el tipo de servidor de base de datos de destino es MSSQL, o la opción 3 para salir. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/4787/2024_03_12_06_01_0426.png) ### Paso 3: Proporcionar los detalles de la base de datos de destino: Al proporcionar los detalles de la base de datos, asegúrese de que la base de datos de destino proporcionada esté vacía para que la migración pueda continuar. Si la base de datos no existe, se creará al guardar los detalles. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/3510/2024_03_12_06_02_2427.png) ### Paso 4: Seleccionar el tipo de migración: **Nota**: Si no se selecciona ningún tipo, la migración de datos será la opción predeterminada. - Si solo está migrando datos dentro de la misma instalación a la base de datos MSSQL, seleccione migración de datos. - Si está migrando a un servidor o instalación diferente, seleccione migración del servidor. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/4531/2024_03_12_06_03_2328.png) ### Paso 4.1: Migración de datos **Confirmación del entorno de producción o prueba:** - Aparecerá una ventana emergente para confirmar si desea migrar los datos a un entorno de producción o de prueba. Haga clic en "Sí" para una migración de producción o en "No" para un entorno de prueba. Para cancelar la migración, seleccione "Cancelar". **Progreso de la migración:** - Una vez que se seleccionen el tipo de migración y la confirmación del entorno, comenzará el proceso de migración. Se mostrará una ventana emergente de progreso. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/1299/2024_03_12_06_05_3431.png) **Finalización de la migración:** - Una vez completada la migración de la base de datos, una ventana emergente confirmará que la migración se realizó correctamente. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2299/2024_03_12_06_05_0930.png) **Pasos posteriores a la migración de datos:** - Ejecute `changeDBServer.bat/sh` desde `{build_dir}/bin`. - Proporcione los detalles de la base de datos MSSQL a la que se realizó la migración. - Guarde los detalles e inicie la application como un servicio o use `run.bat/sh` presente dentro de `/bin` para crear la base de datos de destino. ### Paso 4.2: Migración del Server **Archivos de respaldo de la base de datos:** - Los archivos requeridos se capturarán como `dbMigrationFileBackup.ezip` y se colocarán en la carpeta `/dbMigrationFileBackup`. **Confirmación de entorno de producción o prueba:** - Aparecerá una ventana emergente para confirmar si desea migrar los datos a un entorno de producción o de prueba. **Progreso de la migración:** - Una vez que se elijan el tipo de migración y la confirmación del entorno, comenzará el proceso de migración. Se mostrará una barra de progreso. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/4685/2024_03_12_06_08_1432.png) **Finalización de la migración:** Después de que se complete la migración del Server, una ventana emergente confirmará el éxito de la migración. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/8644/2024_03_12_06_08_3333.png) **Nota**: Si está migrando a un entorno de producción y la ruta de la carpeta `fileattachments` está configurada externamente en la instalación de origen, entonces se mostrará la siguiente ventana emergente al finalizar. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/3714/2024_03_12_06_09_0234.png) **Pasos posteriores a la migración del Server:** - Mueva el archivo `dbMigrationFileBackup.ezip` desde el Server de origen al Server de destino. - Extraiga el archivo `dbMigrationFileBackup.ezip` en la carpeta `/` del Server de destino. **Extracción de archivos protegidos con contraseña:** - El archivo `dbMigrationFileBackup.ezip` está protegido con contraseña. - Proporcione la contraseña de respaldo actual en el origen para descomprimir el archivo. - Puede usar Winrar o 7zip, o ejecutar los siguientes comandos: #### Extracción en Windows ``` \tools\archiver\windows\x86-64\7za.exe x -y -o -p ``` Ejemplo: ``` D:\Destination\AdventNet\ME\ServiceDesk\tools\archiver\windows\x86-64\7za.exe x D:\migrationfiles\dbMigrationFileBackup\dbmigrationfilebackup.ezip -y -oD:\Destination\AdventNet\ME\ServiceDesk -pSDP1234 ``` #### Extracción en Linux ``` /tools/archiver/linux/x86-64/7zzs x -y -o -p ``` Ejemplo: ``` /home/user/workspace/builds/AdventNet/ME/ServiceDesk/tools/archiver/linux/x86-64/7zzs x /home/user/migrationFiles/dbMigrationFileBackup.ezip -y -o/home/user/workspace/builds/AdventNet/ME/ServiceDesk/ -pSDP1234 ``` - En el Server de destino, conéctese a la base de datos MSSQL migrada ejecutando `changeDBServer.bat/sh {build_dir}/bin`. - Proporcione los detalles de la base de datos MSSQL de destino. - Guarde los detalles e inicie la application. - Configure la ubicación personalizada de `fileattachments` en **Admin > Configuración general > Configuración de archivos adjuntos**. - Mueva la carpeta `fileattachments` desde el Server de origen a la ubicación configurada en el Server de destino. **Fallo de migración:** En caso de fallo en la migración, se mostrará una ventana emergente. Comuníquese con soporte para obtener ayuda. --- ## Migración a PostgreSQL DB: Si está migrando a PostgreSQL DB, siga los pasos que se mencionan a continuación: ### Paso 1: Detener el servicio de la application: - Detenga el servicio de la application antes de iniciar el proceso de migración. ### Paso 2: Migración a Bundled PostgresDB #### 2.1: Para la misma instalación - Realice un respaldo recortado ejecutando `trimmedBackUpData.bat/sh` presente en `{build_dir}/bin` antes de cambiar a postgresDb. Para crear la base de datos Postgres de destino: - Ejecute `changeDBServer.bat/sh` presente en `{build_dir}/bin`. - Proporcione los detalles de la base de datos postgres. **Nota**: Evite usar "postgres" como nombre de usuario, ya que ejecutar la application como superusuario está restringido. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/7957/2024_03_12_06_30_1836.png) - Inicie la application como un servicio o use `run.bat/sh` dentro de `/bin` para crear la base de datos de destino. - La base de datos de destino debe estar vacía. **Nota**: Para la versión 14202 y superiores, copie el archivo `reinitialize.bat/sh` desde `\Server\tools` al directorio `bin` y ejecútelo para vaciar la base de datos. --- ## Migración a PostgresDB externo Siga los pasos a continuación para migrar a PostgresDB externo: ### Paso 1: Detenga el servicio de la application: - Detenga el servicio antes de iniciar el proceso. ### Paso 2: Creación de la base de datos: - Siga los pasos 1–6 mencionados en el documento aquí: [https://www.manageengine.com/latam/service-desk/help/adminguide/external-postgresql$setup-postgresql](https://www.manageengine.com/latam/service-desk/help/adminguide/external-postgresql$setup-postgresql) **Nota**: El postgres externo debe estar iniciado para que la migración continúe. ### Paso 3: Ejecutar el script de migración: - Ejecute `migrateDB.bat/sh` desde `{build_dir}/bin`. - Use `--console` para modo consola. - Elija la opción 1 si el tipo de base de datos de destino es PostgreSQL. Si se conecta remotamente: - Siga los pasos aquí: [https://pitstop.manageengine.com/portal/en/kb/articles/connect-to-default-pgsql-database-remotely](https://pitstop.manageengine.com/portal/en/kb/articles/connect-to-default-pgsql-database-remotely) Proporcione los detalles de la base de datos externa y asegúrese de que esté vacía. ### Paso 4: Seleccionar el tipo de migración: - Para cambiar solo la base de datos a Postgres externo, seleccione **Migración de datos**. - Para migrar a un Server o instalación diferente, elija **Migración de Server**. - Si no se selecciona ningún tipo, la migración de datos será la opción predeterminada. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/6922/2024_03_12_07_55_2444.png) **Pasos posteriores a la migración:** - Siga los pasos indicados en: [https://pitstop.manageengine.com/portal/en/kb/articles/how-to-connect-external-postgres](https://pitstop.manageengine.com/portal/en/kb/articles/how-to-connect-external-postgres) --- ## Migración de Server: **Archivos de respaldo de la base de datos:** - Los archivos requeridos se guardarán como `dbMigrationFileBackup.ezip` en `/dbMigrationFileBackup`. **Confirmación de entorno de producción o prueba:** - Aparecerá una ventana emergente para confirmar el entorno. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/7778/2024_03_12_07_58_5747.png) **Progreso de la migración:** - Se mostrará una barra de progreso. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/9619/2024_03_12_07_59_3148.png) **Finalización de la migración:** ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/3162/2024_03_12_07_59_5049.png) **Fallo de migración:** En caso de fallo de migración, se mostrará una ventana emergente. Póngase en contacto con el soporte para obtener ayuda. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/8579/2024_03_12_08_02_5151.png) Asegúrese de seguir estos pasos cuidadosamente para lograr una migración exitosa a la base de datos PostgreSQL.