Compartir a través de


Detención e inicio de una instancia: Azure SQL Managed Instance

Se aplica a:Azure SQL Managed Instance

En este artículo se describe cómo detener e iniciar una instancia para ahorrar en los costes de facturación al usar Azure SQL Managed Instance en el nivel de servicio de uso general. Puede detener e iniciar su instancia utilizando el Azure Portal, Azure PowerShell, CLI de Azure o la API de REST.

Nota:

La característica stop e start controla la facturación y no debe usarse para reiniciar la instancia como un paso de solución de problemas.

Información general

Para ahorrar en los costos de facturación, puede detener la instancia administrada de SQL de uso general cuando no la use. Detener una instancia es similar a desasignar una máquina virtual. Cuando una instancia está detenida, ya no se cobran los costos de proceso y licencias, pero se sigue cobrando por el almacenamiento de datos y de copias de seguridad.

Al detener una instancia administrada de SQL, se borran todos los datos almacenados en caché.

Esta característica presenta tres nuevos estados de instancia administrada de SQL, como indica el diagrama siguiente:




- Deteniéndose
Detenido
- Iniciándose

Diagrama que muestra los distintos estados de una implementación de SQL Managed Instance.

Normalmente, una vez iniciada la operación de detención, se tarda unos 5 minutos en detener la instancia. Sin embargo, el inicio de una instancia tarda unos 20 minutos desde el momento en que comienza la operación de inicio. Solo se pueden detener las instancias administradas de SQL que estén en estado listo. Después de detenerse la instancia, permanece en estado detenido hasta que comienza la operación de inicio, ya sea de manera manual o con una programación definida. Solo se pueden iniciar las instancias que se encuentran en estado detenido.

Cuando se producen las siguientes operaciones, Azure asigna recursos de proceso al clúster virtual subyacente:

  • Creación de una instancia administrada de SQL.
  • Iniciar una instancia administrada de SQL detenida.
  • Redimensionamiento de una instancia administrada de SQL. Por ejemplo, cambiar el nivel de servicio, el almacenamiento, la generación de hardware o el número de núcleos virtuales.

Aunque hay una inversión continua en más infraestructura para admitir la demanda de los clientes, puede haber errores de asignación de recursos ocasionales a partir del crecimiento sin precedentes de la demanda de servicios de Azure en regiones específicas. Esta situación puede dar lugar a una duración de operación prolongada, aproximadamente 4 horas si hay una nueva compilación de clúster virtual (de acuerdo con las duraciones de la operación de administración). También puede dar lugar a un error al iniciar la instancia, en cuyo caso debería intentarlo de nuevo más tarde.

Importante

Como una plataforma como servicio (PaaS), SQL Managed Instance es responsable del cumplimiento de todos los componentes del sistema. Si hay una necesidad urgente de mantenimiento del sistema, requiere que la instancia esté en línea. En esta situación, Azure puede iniciar la operación de inicio y mantener la instancia en línea hasta que se complete la operación de mantenimiento, en cuyo momento Azure detiene la instancia. Los cargos de computación y licencia se aplican durante todo el tiempo que la instancia está en estado activo.

Tipos de acción

Hay dos maneras de detener e iniciar una instancia: de forma manual a petición o creando una programación.

Comandos manuales

Puede usar comandos manuales para desencadenar inmediatamente una acción de detención e inicio. Los comandos manuales son buenos para instancias que tienen períodos de inactividad más largos sin patrones regulares o con fines de prueba. Alternativamente, también puede usar programaciones de Azure Automation o cualquier otra solución personalizada que cree programaciones personalizadas y más flexibles que no se pueden lograr mediante el programador de detención e inicio integrado en SQL Managed Instance.

Comandos programados

También puede crear un horario con uno o varios momentos en los que se desencadene una acción de detención o inicio. Los comandos programados son buenos para instancias que tienen patrones normales. Por ejemplo, iniciar una instancia cada día de la semana a las 8:00, detenerla a las 5 p.m. y, a continuación, iniciarla durante el fin de semana a las 7:00 y detenerla a las 11:00. La programación de los comandos elimina la necesidad de crear soluciones personalizadas o de usar Azure Automation para crear programaciones de detención e inicio.

Los elementos programados representan puntos en el tiempo cuando se inician eventos de detención e inicio, no cuando la instancia está en funcionamiento. Al crear una programación, tenga en cuenta la duración de la operación. Por ejemplo, si desea que la instancia esté en funcionamiento a las 8 a. m., puede definir una programación que inicie la operación de inicio a las 7:40 a. m.

Tenga en cuenta las siguientes reglas para un horario de parada y arranque:

  • Cada elemento programado se define como un par de valores de parada e inicio, y debe tener ambos valores rellenados. No es posible tener un valor de parada rellenado sin que lo esté el valor de inicio y viceversa.
  • Los pares programados no se pueden superponer. Si hay una superposición de horas programadas, la API devuelve un error.
  • El intervalo de tiempo entre cualquier dos acciones sucesivas (es decir, un inicio tras una detención o una detención tras un inicio) debe ser de al menos una hora. Por ejemplo, si un inicio está programado para las 10 a. m., la acción de detención no se puede programar antes de las 11 a. m.
  • Si se producen operaciones en conflicto cuando se desencadena una detención, como un escalado de núcleo virtual en curso, el mecanismo vuelve a intentarlo después de 10 minutos. Si después de 10 minutos la operación en conflicto sigue activa, se omite la operación de detención.

Facturación

Las instancias detenidas no se facturan por núcleos virtuales y la licencia de SQL, solo se cobran por el almacenamiento de datos y copias de seguridad. Sin embargo, los núcleos virtuales y la facturación de licencias se cobran por cada hora comenzada. Por ejemplo, a las 12:01, se le cobrará la hora completa, incluso si la instancia se detiene en algún momento dentro de la hora.

Beneficio híbrido de Azure

La Ventaja híbrida de Azure (AHB) se aplica por recurso. Si la instancia usa la Ventaja híbrida de Azure para el descuento en los costos de licencia, puede aplicar la Ventaja híbrida de Azure a otro recurso cuando la instancia se encuentra en un estado detenido. Primero debe deshabilitar AHB en la instancia y, a continuación, detener la instancia. De forma similar, después de reiniciar la instancia, tendrá que volver a habilitar AHB en ella para aplicar la ventaja de licencia.

Precios de reserva

Azure Reservation se aplica a los vCores y las horas utilizadas. Cuando se detiene una instancia que es apta para tarifas reservadas, estas se redirigen automáticamente a otra instancia, si existe. Puede usar la característica de detención e inicio para realizar un exceso de aprovisionamiento de los precios de las instancias reservadas.

Por ejemplo, supongamos que compra una instancia administrada de SQL con una reserva de 16 núcleos virtuales. Puede ejecutar dos instancias con 8 núcleos virtuales cada una de 1 p. m. a 2 p. m., detener ambas instancias y, a continuación, ejecutar dos instancias diferentes con 8 núcleos virtuales cada una de 2 p. m. a 3 p. m. Este enfoque consumiría el límite de 16 núcleos virtuales para cada hora, distribuidos entre cuatro instancias en total.

Los descuentos de reserva se ofrecen sobre la base de "usarlo o perderlo". Es decir, si no tiene recursos coincidentes durante una hora especificada, la cantidad de reserva de esa hora se pierde. Las horas reservadas no utilizadas no se pueden transferir.

Limitaciones de la característica de detención e inicio

Tenga en cuenta las limitaciones siguientes:

  • Detener e iniciar una instancia solo es posible actualmente para las instancias del nivel de servicio De uso general.
  • No se pueden detener instancias que:
  • Aunque una instancia administrada de SQL está en estado detenido, no es posible cambiar sus propiedades de configuración. Para cambiar las propiedades, debe iniciar la instancia.
  • Aunque la instancia esté en un estado detenido, no es posible realizar copias de seguridad. Por ejemplo, supongamos que tiene configuradas copias de seguridad a largo plazo, con copias de seguridad anuales implementadas. Si una instancia se detiene durante el período de copia de seguridad anual definido, se omitirá dicha copia de seguridad. Se recomienda mantener la instancia en funcionamiento durante el período de copia de seguridad anual.
  • No es posible cancelar una operación de detención o inicio una vez iniciada.
  • Si se programa un examen de evaluación de vulnerabilidades para SQL Managed Instance mientras se detiene la instancia, se produce un error en la ejecución del examen.
  • Las notificaciones de mantenimiento no se envían para instancias que están en estado detenido. El resultado es:
    • Secuencia incompleta de notificaciones. Por ejemplo, no se envía una notificación avanzada , mientras se envía una notificación en curso .
    • Falta instancia administrada de SQL en la lista de recursos afectados en el contenido de la notificación.
  • Los registros de errores que están disponibles en SQL Managed Instance no se conservan y se borran automáticamente cuando se detiene la instancia.

Requisitos previos

Para usar la funcionalidad de detención e inicio de la instancia, la instancia debe encontrarse en el nivel de servicio de uso general. Los usuarios que tienen permiso para administrar la instancia pueden detener e iniciar la instancia. Para más información, consulte Permisos de Azure para bases de datos.

Las instancias que no cumplen los requisitos previos tienen los controles de detención e inicio deshabilitados en la página Información general del recurso de instancia administrada da SQL en el portal de Azure. Al mantener el puntero sobre el control se explica por qué la instancia no puede usar la función de detener e iniciar.

Preparar el entorno de la línea de comandos

Omita este paso si usa Azure Portal.

Si desea detener o iniciar una instancia mediante PowerShell o la CLI de Azure, debe preparar el entorno mediante la configuración de herramientas de línea de comandos y la definición de los parámetros.

Como alternativa, para configurar las herramientas de línea de comandos, también puede usar Azure Cloud Shell. Un shell interactivo gratuito que puede usar para ejecutar los pasos descritos en este artículo. Tiene herramientas de Azure preinstaladas comunes y está configurada para usarla con su cuenta. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Para abrir Cloud Shell, seleccione Pruébelo en la esquina superior derecha de un bloque de código. También puede ir a https://shell.azure.com para iniciar Cloud Shell en una pestaña independiente del explorador.

Para detener e iniciar la instancia con PowerShell, puede instalar Azure PowerShell o usar Azure Cloud Shell.

Cuando se abra Cloud Shell, compruebe que PowerShell está seleccionado para el entorno. En las sesiones siguientes se usa la CLI de Azure en un entorno de PowerShell. Seleccione Copiar para copiar los bloques de código, péguelos en Cloud Shell y, luego, presione Entrar para ejecutarlos.

Una vez iniciado PowerShell o Cloud Shell, defina los parámetros:

$SubscriptionId = "<Subscription-ID>"
$SqlMIName = "<SQL-MI-name>"
$RgName = "<SQL-MI-resource-group>"

# Login-AzAccount
Select-AzSubscription -SubscriptionName $SubscriptionID

Detener la instancia administrada de SQL

Puede detener la instancia mediante:

  • Azure Portal
  • PowerShell
  • La CLI de Azure
  • La llamada a la API REST, invocada a través de cualquier herramienta

Para detener la instancia administrada de SQL mediante Azure Portal, vaya a la página Información general de la instancia y seleccione el botón Detener .

Captura de pantalla de la página

Si la instancia ya está detenida, el botón Detener no está disponible.

Inicio de la instancia administrada de SQL

Puede iniciar la instancia mediante:

  • Azure Portal
  • PowerShell
  • La CLI de Azure
  • La llamada a la API REST, invocada a través de cualquier herramienta

Una vez detenida la instancia administrada de SQL, para iniciarla mediante Azure Portal, vaya a la página Información general de la instancia y, a continuación, seleccione el botón Iniciar .

Captura de pantalla de la página

Si la instancia ya está iniciada, el botón Iniciar no está disponible.

Administrar una programación de inicio y parada

Puede administrar una programación de detención e inicio mediante:

  • Azure Portal
  • PowerShell
  • La CLI de Azure
  • La llamada a la API REST, invocada a través de cualquier herramienta

Para administrar una programación de detención e inicio mediante Azure Portal, vaya a la instancia y, a continuación, seleccione Programación de inicio o detención en el menú de recursos.

Captura de pantalla de la página

En la página Programación de inicio o detención puede hacer lo siguiente:

  • Ver programaciones existentes.
  • Especificar la zona horaria de los eventos programados en la lista desplegable Zona horaria.
  • Crear una nueva programación seleccionando Crear un elemento de programación.
  • Modificar una programación existente seleccionando icono del lápiz.
  • Eliminar una programación existente seleccionando el icono de la papelera.

Nota:

Actualmente, el registro de actividad solo captura las operaciones iniciadas a través de Azure Resource Manager (ARM). No se realiza un seguimiento de las operaciones de inicio y detención programadas en el registro de actividad. Por lo tanto, en este momento, no es posible ver el historial de las operaciones programadas de inicio y parada a través del registro de actividad en el portal de Azure. O bien, a través de cualquier supervisión basada en dichos registros.