Problemas al actualizar a SQL Server 2022

Se aplica a: SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016

Resumen

En este artículo se describen los problemas comunes que puede encontrar al actualizar a SQL Server 2022 y se proporcionan soluciones y soluciones alternativas para cada uno. Los escenarios descritos incluyen volcados de infracción de acceso vinculados a la generación de perfiles de consultas ligeras, actualizaciones bloqueadas causadas por una instalación parcial de SQL Server, instancias de clúster de conmutación por error (FCI) que no se pueden conectar después de la actualización y errores de script de actualización de replicación cuando la base de datos de distribución forma parte de un grupo de disponibilidad AlwaysOn (AG). Use esta guía para solucionar problemas de una actualización local errónea a SQL Server 2022 y para volver a conectar la instancia de SQL Server.

Volcados por infracción de acceso durante la actualización en un entorno Always On

Este error se produce cuando se actualiza a SQL Server 2022 en un entorno AlwaysOn. El mensaje de error y las entradas de registro asociadas indican una excepción grave generada durante el proceso de actualización.

Mensaje de error

Código de excepción: c0000005 EXCEPTION_ACCESS_VIOLATION

Registro de eventos de aplicación

Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session.
Information: Windows Error Reporting - Fault bucket INVALID_REQUEST, type 0

Registro de errores de SQL Server

Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.

Solución

Este problema es un problema conocido con LIGHTWEIGHT_QUERY_PROFILING en SQL Server 2022.

El problema se ha corregido en la actualización acumulativa 4 para SQL Server 2022 y la actualización acumulativa 20 para SQL Server 2019.

Solución alternativa

Si aún no puede aplicar la actualización acumulativa, desactive LIGHTWEIGHT_QUERY_PROFILING. La creación ligera de perfiles está desactivada a nivel de base de datos mediante la configuración de ámbito de base de datos LIGHTWEIGHT_QUERY_PROFILING:

ALTER DATABASE SCOPED CONFIGURATION SET LIGHTWEIGHT_QUERY_PROFILING = OFF;

Actualización bloqueada por una instancia de SQL Server 2022 inactiva

No se puede actualizar a SQL Server 2022 porque el equipo tiene una instancia de SQL Server 2022 inactiva.

Causa

Este problema se produce cuando se produce un error en una instalación de SQL Server anterior y deja una instancia parcialmente instalada en el equipo. El programa de instalación de SQL Server no revierte automáticamente la instalación cuando se produce un error. La instancia instalada parcialmente no incluye la edición de SQL Server que estaba intentando instalar, lo que hace que se produzca un error en los intentos de instalación posteriores de la misma versión.

Solución

Siga los pasos descritos en Quitar una instalación parcial de SQL Server y, a continuación, reinicie la actualización.

La instancia de clúster de conmutación por error no se puede conectar después de la actualización

Después de actualizar SQL Server desde una versión anterior a SQL Server 2022 en una instancia de clúster de conmutación por error (FCI), es posible que la instancia no llegue a estar en línea. En el Administrador de clústeres de conmutación por error, el rol SQL Server se muestra como erróneo y la instancia no se inicia.

Causa

La instancia de SQL Server está bloqueada en modo de actualización de script, lo que impide que se inicie. Durante una actualización, SQL Server ejecuta scripts de actualización como parte de la secuencia de inicio. Si se produce un error en uno de esos scripts o no finaliza, la instancia permanece en modo de actualización de script y no puede estar en línea.

Solución alternativa

Para poner en línea la instancia de SQL Server, omita el script de actualización en ejecución siguiendo los pasos descritos en Solución de errores de script de actualización al aplicar una actualización.

Nota:

La marca de seguimiento -T902 desactiva la ejecución del script de actualización durante el inicio. Quite la marca de seguimiento después de corregir el problema del script de actualización subyacente para que se puedan completar los pasos de actualización pendientes.

Error de script de actualización de replicación cuando la base de datos de distribución está en un grupo de disponibilidad

Se produce un error de replicación al actualizar a SQL Server 2022 en un servidor que hospeda la base de datos de distribución en un grupo de disponibilidad (AG).

Nota:

Este problema también puede producirse al actualizar SQL Server desde la versión 2016 SP2 CU3, SQL Server 2017 CU6 o versiones posteriores a SQL Server 2019. La corrección de este problema está disponible en la actualización acumulativa 21 para SQL Server 2019.

Mensaje de error

La configuración de SQL Server se completa, pero muestra el error "Se produjo un error al ejecutar los scripts de actualización de replicación" para el componente de replicación. Si ejecuta una reparación en una instancia de este estado, recibirá el mismo mensaje de error.

Registro de errores de SQL Server

Executing sp_vupgrade_replication.
Could not open distribution database <distribution_db_name> because it is offline or being recovered. Replication settings and system objects could not be upgraded. Be sure this database is available and run sp_vupgrade_replication again.
Error executing sp_vupgrade_replication.
Saving upgrade script status to 'SOFTWARE\Microsoft\MSSQLServer\Replication\Setup'.

Causa

El error se produce cuando la base de datos de distribución forma parte de un grupo de disponibilidad y se intenta realizar una actualización local.

Solución

La corrección está disponible en la actualización acumulativa 5 para SQL Server 2022.

Solución alternativa

Si no puede aplicar la actualización acumulativa, siga estos pasos:

  1. Elimine la base de datos de distribución del grupo de disponibilidad.
  2. Ejecute la actualización a SQL Server 2022.
  3. Una vez finalizada la actualización, vuelva a agregar la base de datos de distribución al AG.