# Grupos de disponibilidad de Microsoft SQL Los grupos de disponibilidad (AG) son un clúster de alta disponibilidad de servidores MSSQL. Sirven como respaldo en caso de que falle el servidor de base de datos. El servidor de base de datos almacena archivos adjuntos, notificaciones y recursos externos. Si ocurre una falla del servidor de base de datos, uno de los servidores del clúster de Microsoft SQL actúa como servidor de base de datos para garantizar el funcionamiento ininterrumpido de la aplicación ServiceDesk Plus. ## Configuración de Always On Availability Groups **Requisitos previos para la configuración de AG** - El usuario que se configurará en changeDBServer debe tener el permiso **VIEW SERVER STATE**. - El nodo secundario debe configurarse como "Readable/Read-Intent Only". Para entornos que no estén configurados con los requisitos previos o la configuración básica de AG, [haga clic aquí](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag%24for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration). ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/unknown(2).png) ### 1. Creación de la base de datos en el nodo principal *(Omita este paso si no es una instalación nueva)* En el directorio bin de ServiceDesk Plus, ejecute el comando changeDBServer.bat [changeDBServer.sh para Linux]. Se abrirá el Asistente de configuración de base de datos. Use las indicaciones a continuación para completar los datos requeridos del servidor: - **Tipo de servidor**: seleccione SQL Server como tipo de servidor. - **Tipo de host**: seleccione Default como tipo de host. - **Nombre de host**: ingrese el nodo principal donde se debe crear la base de datos. - **Puerto**: especifique el número de puerto de SQL Server. El puerto predeterminado es 1433. - **Instancias disponibles de SQL Server**: el nombre del servidor principal se completará automáticamente. De lo contrario, seleccione el servidor principal en la lista desplegable. - **Base de datos**: de forma predeterminada, el nombre de la base de datos es servicedesk. Edítelo si es necesario. - **Nombre de usuario y contraseña**: especifique las credenciales de inicio de sesión del servidor. - **Contraseña de la clave maestra**: ingrese la contraseña de la clave maestra para cifrar las columnas SCHAR en la base de datos. Esto solo es necesario durante la creación de la base de datos. Los usuarios con permisos DBCreator / DBOwner pueden crear una clave maestra. Para obtener más información, [haga clic aquí](https://www.manageengine.com/latam/service-desk/help/adminguide/ear-faqs.html). Para comprobar la disponibilidad de la conexión: - Haga clic en **Test**. Si la prueba es correcta, una ventana emergente mostrará un mensaje indicando que la conexión se estableció. - Haga clic en **OK** para continuar. - Haga clic en **Save** para guardar la configuración del servidor SQL. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/Server_Type.png) ### 2. Replicación de la base de datos *(Omita este paso si la base de datos ya está replicada)* - Después de crear la base de datos, inicie y detenga la aplicación ServiceDesk Plus. - Replique la base de datos en SQL Server yendo a **Always On High Availability** > **Availability Groups** > **Group** > **Availability Databases** > **Add Database**. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/Connect_-_f_x.png) Al configurar AG en el *asistente de SQL Server Management Studio*, en la página Select Initial Data Synchronization, elija **Full database and log backup**. Esto almacenará la contraseña de la clave maestra de la base de datos en las credenciales de ambos nodos. ![](https://www.manageengine.com/userfiles/866/14262/ckfinder/images/qu/2025/unknown(3).png) ### 3. Configuración de AG mediante changeDBServer En el directorio bin de ServiceDesk, ejecute el comando changeDBServer.bat [changeDBServer.sh para Linux]. Se abrirá el Asistente de configuración de base de datos. Use las indicaciones a continuación para completar los datos requeridos del servidor: - **Tipo de servidor**: seleccione SQL Server. - **Tipo de host**: seleccione AG como tipo de host. - **Nombre de host**: ingrese la dirección IP/el nombre del listener virtual. - **Puerto**: especifique el número de puerto de SQL Server. El puerto predeterminado es 1433. - **Base de datos**: de forma predeterminada, el nombre de la base de datos es servicedesk. Edítelo si es necesario. - **Nombre de usuario y contraseña**: especifique las credenciales de inicio de sesión del servidor. - **Contraseña de la clave maestra**: ingrese la contraseña de la clave maestra configurada durante la creación de la base de datos. Para comprobar la disponibilidad de la conexión: - Haga clic en **Test**. Si la prueba es correcta, una ventana emergente muestra el mensaje de conexión establecida. - Haga clic en **OK** para continuar. - Haga clic en **Save** para guardar la configuración del servidor SQL. ### Validación de AG Mientras se guarda la configuración de AG, se realiza la verificación de AG. Si se detectan problemas durante la verificación, se muestran códigos de error predefinidos. ### Detalles de los códigos de error | Código de error | Descripción | Acción recomendada | |---|---|---| | [AG2000*](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag%24for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | Al usuario configurado le falta el permiso **VIEW SERVER STATE**. | Otorgue el permiso VIEW SERVER STATE al usuario configurado. | | [AG2001*](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag%24for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | El nodo secundario no es legible. | Configure el nodo secundario como readable/Read-Intent Only. | | [AG2002*](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag%24for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) | No es posible acceder a los nodos individuales, o el puerto no coincide con el puerto del listener. | Compruebe si el puerto de SQL Server en cada nodo individual está bloqueado por la configuración del firewall. Compruebe si el servicio SQL Server Browser se está ejecutando en todos los nodos individuales. | | AG1000 | Se configuró un nodo físico en lugar de un listener virtual. | Configure el listener virtual en el campo Nombre de host. | | AG1001 | La base de datos de destino no está replicada en los nodos. | Siga los pasos de replicación mencionados en el paso 2 para replicar la base de datos entre los nodos. | | AG1002 | Falta la clave maestra de la base de datos en la base de datos de un nodo. | Si estos errores aparecen en Health Meter en la configuración de AG, ejecute verifyAG.bat/verifyAG.sh y comparta la salida con el soporte de ServiceDesk Plus. Si estos errores aparecen en la configuración de changeDBServer, comparta la carpeta logs y el mensaje de error con el soporte de ServiceDesk Plus. | | AG1003 | Falta el certificado en la base de datos de un nodo. | Si estos errores aparecen en Health Meter en la configuración de AG, ejecute verifyAG.bat/verifyAG.sh y comparta la salida con el soporte de ServiceDesk Plus. Si estos errores aparecen en la configuración de changeDBServer, comparta la carpeta logs y el mensaje de error con el soporte de ServiceDesk Plus. | | AG1004 | Falta la clave simétrica en la base de datos de un nodo. | Si estos errores aparecen en Health Meter en la configuración de AG, ejecute verifyAG.bat/verifyAG.sh y comparta la salida con el soporte de ServiceDesk Plus. Si estos errores aparecen en la configuración de changeDBServer, comparta la carpeta logs y el mensaje de error con el soporte de ServiceDesk Plus. | | AG1008 | Falta la entrada del almacén de credenciales en el nodo (esto suele ocurrir cuando se elige **AutoSeeding** al replicar la base de datos). | Ejecute el siguiente comando desde el directorio `\bin`: **Windows:** verifyAG.bat true **Linux:** verifyAG.sh true | Para obtener más información sobre las configuraciones de AG, [haga clic aquí](https://social.technet.microsoft.com/wiki/contents/articles/36143.sql-server-2016-step-by-step-creating-alwayson-availability-group.aspx). [*](https://www.manageengine.com/latam/service-desk/help/adminguide/mssql-aoag%24for%20environments%20that%20are%20not%20configured%20with%20prerequisites%20or%20basic%20ag%20configuration) **Para entornos que no están configurados con los requisitos previos o la configuración básica de AG:** Siga el procedimiento a continuación para la validación manual de AG y comprobar si se seleccionó la opción AutoSeeding al replicar la base de datos. - Ejecute la siguiente consulta en cada nodo individual: ```sql select sc.credential_id from sys.credentials sc inner join sys.master_key_passwords sm on sm.credential_id= sc.credential_id left join msdb.dbo.backupset md on md.family_guid = sm.family_guid where md.database_name = ''; ``` - Si la consulta no devuelve ningún valor, ejecute la siguiente consulta en el nodo correspondiente: ```sql EXEC sp_control_dbmasterkey_password @db_name = N'' , @password = N'' , @action = N'add' ; ``` Reemplace los valores de `` y `` según corresponda antes de ejecutar la consulta.