# Configurar la base de datos - [Configurar la base de datos](#configurar-la-base-de-datos) 1. [Configuración de la base de datos Postgres SQL](#configuración-de-la-base-de-datos-postgres-sql) 2. [Configuración de la base de datos MS SQL](#configuración-de-la-base-de-datos-ms-sql) 3. [Configuración de la base de datos Azure SQL](#configuración-de-la-base-de-datos-azure-sql) - [Usuarios sin GUI](#usuarios-sin-gui) - [Conectarse a la base de datos Postgres SQL en Windows](#conectarse-a-la-base-de-datos-postgres-sql-en-windows) - [Conectar SQL Server con autenticación de Windows](#conectar-sql-server-con-autenticación-de-windows) - [Resolución de conexión de MS SQL](#resolución-de-conexión-de-ms-sql) - [Grupos de disponibilidad AlwaysOn de MS SQL](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag.html) ## Configurar la base de datos > ServiceDesk Plus (SDP) usa agentes de Endpoint Central desde la BUILD NO 11300 para escanear equipos Windows, Linux y Mac. Si está usando Endpoint Central en su entorno, Endpoint Central se instala con la base de datos PGSQL integrada de forma predeterminada. > De forma predeterminada, ServiceDesk Plus es compatible con la base de datos PostgreSQL. Para cambiar a una base de datos SQL, debe configurar el servidor SQL para establecer una conexión e iniciar el servidor. ## Configuración de la base de datos Postgres SQL 1. Ejecute el archivo `changeDBServer.bat` (`changeDBServer.sh` para Linux) ubicado en el directorio `\bin`. Esto abrirá el Asistente de configuración de base de datos. Complete los detalles correspondientes del servidor: - **Tipo de servidor**: Seleccione Postgres SQL. - **Nombre del host**: Introduzca la dirección IP/nombre del host en el que está disponible la base de datos. El nombre predeterminado es `localhost`. - **Puerto**: Especifique el puerto. El puerto predeterminado es `65432`. - **Base de datos**: De forma predeterminada será `servicedesk` (puede cambiarse). **Credenciales del usuario de la base de datos (aplicable solo a la versión 10500 y superiores)** - **Nombre de usuario**: `sdpadmin` - **Contraseña**: `sdp@123` **Nota**: Esta credencial proporcionará acceso de lectura y escritura solo para la base de datos de la aplicación. 2. Para comprobar la conexión, haga clic en **Test**. Aparecerá el mensaje *Connection Established*. 3. Haga clic en **OK**. 4. Haga clic en **Save** para guardar la configuración. ### Aviso para usuarios de ServiceDesk Plus Build 14610 y posteriores ### Generación automática de la contraseña predeterminada de la base de datos PostgreSQL para sdpadmin Para los usuarios de build 14610 y posteriores, la contraseña predeterminada de PostgreSQL se generará automáticamente para `sdpadmin`. ### ¿Por qué la generación automática? Por motivos de seguridad, la contraseña predeterminada ahora se genera automáticamente. ### ¿Cuándo y cómo se genera? - Para configuraciones existentes: durante la migración, si la contraseña predeterminada no fue actualizada previamente. - Para configuraciones nuevas: cuando el servidor se inicia por primera vez. - Al cambiar a PostgreSQL después de migrar a 14610 o posterior: al ejecutar `changeDBServer.bat/.sh`. ### Recomendación para conectarse mediante herramientas externas Se recomienda utilizar `rouser`. - Para la base de datos Postgres integrada, la contraseña predeterminada es `EdgarFCodd`. - Para una base de datos externa Postgres/MSSQL, haga clic [aquí](https://www.manageengine.com/latam/service-desk/help/adminguide/read-only-user.html). ### ¿Cómo recuperar la contraseña? El usuario que instala ServiceDesk Plus puede ver la contraseña generada automáticamente ejecutando: - **Windows**: `decryptPostgresPassword.bat` - **Linux**: `decryptPostgresPassword.sh` > La contraseña de PostgreSQL para `sdpadmin` no se puede recuperar después de cambiar de Postgres integrado a Postgres/MSSQL externo. Guárdela en una ubicación segura. > Al migrar de la build 14600 a 14620 o posterior, el archivo decryptPostgresPassword no estará disponible. Contacte con soporte. ## Configuración de la base de datos MS SQL Ejecute `changeDBServer.bat` (`.sh` en Linux) desde `\bin`. Complete los siguientes campos: - **Tipo de servidor**: MS SQL - **Nombre del host**: Dirección IP o nombre del host - **Puerto**: `1433` - **Base de datos**: `servicedesk` (predeterminado) - **Nombre de usuario** - **Contraseña** - **Clave maestra**: Contraseña para cifrar columnas SCHAR (solo al crear la base de datos) > Solo los usuarios con permiso DBCreator o DBOwner pueden crear una clave maestra. Recuerde esta contraseña. Para más información sobre la clave maestra consulte [esta página](https://www.manageengine.com/ear-faqs.html). ![Configuración MS SQL](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/1(4).png) ### Consultas para crear/modificar la clave maestra ```sql create master key encryption by password=''; alter master key encryption by password=''; ``` > Se requieren derechos completos de administrador para configurar MS SQL en Windows 2012 y posteriores. - Haga clic en **Test**. - Haga clic en **OK**. - Haga clic en **Save**. ### Rol requerido para el usuario MSSQL - Public - DBCreator o DBOwner - View Server State y View Any Definition (opcional) **Propósito de los roles** - **DBCreator**: Si la base de datos se crea mediante changeDBServer. - **DBOwner**: Si la base de datos se crea manualmente. - **View Server State / View Any Definition**: Para ver propiedades del servidor en el medidor de salud. Con permisos: ![Con permisos](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/8229/2023_12_21_08_58_591.png) Sin permisos: ![Sin permisos](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/101/2023_12_21_08_58_592.png) ## Configuración de la base de datos Azure SQL Para Azure SQL Managed Instance: - Asegúrese de que el equipo esté en la misma red. - Si está en otra red, use [V-Net peering](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-manage-peering). - Siga los pasos de [Configuración de la base de datos MS SQL](#configuración-de-la-base-de-datos-ms-sql). > La funcionalidad de respaldo para Azure no es compatible con ServiceDesk Plus. Más información [aquí](http://learn.microsoft.com/en-us/azure/azure-sql/database/automated-backups-overview?view=azuresql). > Puede mover la base de datos usando la [herramienta de migración de bases de datos](https://www.manageengine.com/latam/service-desk/help/adminguide/database-migration-tool.html). ## Usuarios sin GUI Ejecute: ```bash C:\[ServiceDesk Plus Home]\bin>changeDBServer.bat --console ``` Para PGSQL: ![PGSQL consola](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/3.PNG) Para MS SQL: ![MSSQL consola](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/7.PNG) ## Conectarse a la base de datos Postgres SQL en Windows 1. Vaya a `[ServiceDesk Plus Home]\pgsql\bin`. ```bash cd ManageEngine\ServiceDesk\pgsql\bin ``` 2. Ejecute: ```bash psql.exe -U postgres -p 65432 servicedesk ``` Para versiones superiores a 10000: ```bash psql.exe -U sdpadmin -p 65432 servicedesk ``` Contraseña: `sdp@123` El símbolo cambiará a: ```bash servicedesk=# ``` ![Conexión PGSQL](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/import-4t1ydrnpzck5//images/pgsql-connection.gif) ## Conectar SQL Server con autenticación de Windows Para conectar en modo autenticación de Windows: 1. Agregue un usuario NTLM al SQL Server. 2. Configure autenticación de Windows en ServiceDesk Plus. 3. Inicie ServiceDesk Plus con el usuario NTLM. ### Paso 1: Agregar usuario NTLM 1. Abra **SQL Server Management Studio**. 2. En **Object Explorer**, clic derecho en **Login** → **New Login**. ![Nuevo login](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_11_23_10_48_5911.png) 3. Seleccione Windows Authentication. ![Windows Auth](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_11_23_10_48_5912.png) 4. Haga clic en **Search** y agregue el usuario. ![Buscar usuario](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_11_23_10_48_5913.png) 5. Asigne el rol **dbcreator**. ### Paso 2: Configurar en ServiceDesk Plus Ejecute `changeDBServer.bat` como el usuario NTLM. Seleccione **SQL Server** y **Windows Authentication**. ![Configuración Windows Auth](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_11_23_10_48_5914.png) - Haga clic en **Test**. - Haga clic en **OK**. - Haga clic en **Save**. ### Paso 3: Iniciar el servicio 1. Vaya a **Start > Services**. 2. Clic derecho en **ManageEngine ServiceDesk Plus** → **Properties**. 3. En **Log On**, seleccione **This account**. 4. Ingrese credenciales. ![Log On](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2021_11_23_10_48_5915.png) Ahora puede [iniciar ServiceDesk Plus](https://www.manageengine.com/latam/service-desk/help/adminguide/introduction/start-servicedeskplus-server.html). > Si la contraseña NTLM cambia, actualice las credenciales del servicio. ## Resolución de conexión de MS SQL Posibles causas: - Nombre del servidor o puerto incorrecto. - TCP/IP no habilitado. - Firewall bloqueando el puerto 1433. - Use `telnet 1433` para probar conexión. - Instancia no compatible. Crear usuario con privilegios completos: ![Login properties](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/import-4t1ydrnpzck5//images/sql-server-login-properties.gif) Configurar autenticación SQL Server: ![SQL Server properties](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/import-4t1ydrnpzck5//images/sql_server_properties.gif) ## Preguntas frecuentes **Pregunta 1**: ¿Qué hacer después de: - Actualizar versión MS SQL? - Mover carpeta de datos? - Restaurar instancia MS SQL? Ejecute: ```sql OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'; ALTER MASTER KEY DROP ENCRYPTION BY SERVICE MASTER KEY; ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY; ``` **Pregunta 2**: Error al actualizar a versiones 13000 o superiores. ![Error TLS](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/6008/2022_07_13_10_18_061.png) **Respuesta**: Actualice SQL Server para que sea compatible con TLSv1.2. Más información [aquí](https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe).