Detención de SQL Azure DB cuando no está en uso

99

¿Hay alguna forma de detener una base de datos SQL Azure para que no cargue nada en nuestra cuenta? No quiero eliminarlo, solo durante la prueba y no se está utilizando, entonces lo configuramos en "detenido" como podemos hacer con sitios web, servicios en la nube y máquinas virtuales.

Mate
fuente

Respuestas:

117

A partir del 10 de noviembre de 2020, la respuesta es No.

No lo permitirán. Por lo tanto, la facturación continuará para su base de datos de Azure a partir del día en que la cree. Realmente no hay forma de pausar / detener la facturación de su base de datos SQL de Azure.

Fuente oficial: feedback.azure.com Agregue la capacidad de apagar / encender temporalmente el servidor SQL Azure para pausar la facturación

La respuesta oficial de Microsoft parece ser "Sí, puede exportar su base de datos. Elimine la base de datos SQL de Azure y eso detendrá la facturación. Luego, cuando lo necesite, puede crear una nueva base de datos e importar su base de datos previamente expuesta".

No creo que esto sea aceptable como respuesta para "Permitirme apagar temporalmente SQL Server para ahorrar en mi facturación"

ingrese la descripción de la imagen aquí

Shiva
fuente
11
No. ¿Qué sucede si solo alquila una instancia de SQL Server y no una máquina virtual completa? No puede "pausar" un servidor SQL. Para eso es el boleto de conexión y esta pregunta.
Shiva
4
¡Gracias por actualizar tu respuesta cada dos días!
Zenuka
3
Es una vergüenza. Gracias por tu mensaje, directo y claro.
Striter Alfa
1
Probablemente valga la pena actualizar esto a partir de mayo de 2019, ahora tiene una opción para esto utilizando el nivel 'sin servidor' de Azure SQL DB. Detalles aquí: docs.microsoft.com/en-au/azure/sql-database/…
Simon W
1
Bastante justo, pero el costo cero no sucederá. Cuando detiene una máquina virtual en Azure, todavía está pagando por el almacenamiento de los discos de la máquina virtual y no hay una función de parada de costo cero para Azure App Service (incluidos los sitios web), ya que el plan de App Service subyacente continúa facturándole.
Simon W
26

Hoy en día, esta no es una opción; la única opción que tiene es reducir el tamaño de la base de datos SQL de Azure, lo que reducirá el costo de la próxima hora de servicio. Si realmente no desea pagar por la base de datos, puede hacer una copia de seguridad de la base de datos en el almacenamiento de blobs, eliminar la base de datos y luego restaurar cuando sea necesario. Puede orquestar esto usando PowerShell o similar.

Actualización de mayo de 2019: viene un nuevo nivel de Azure SQL Database "Serverless" que podría cumplir con algunos de los requisitos relacionados con la reducción de costos al no facturar cuando no esté en uso. La documentación oficial está disponible para leer .

Simon W
fuente
3
Parece que todavía es exacto a día de hoy. No veo la opción en ningún lado y Google confirma lo mismo.
leeman24
10

Las bases de datos se respaldan automáticamente justo antes de una caída. por lo tanto, puede soltarlo cuando no lo necesite y restaurarlo cuando sea necesario. Las restauraciones tomarán algo de tiempo dependiendo del tamaño de la base de datos y de la cantidad de registro que haya generado, por lo que no será rápido para bases de datos grandes.

Además, existe una política de vencimiento sobre cuánto tiempo se retienen las copias de seguridad (depende del nivel de servicio), así que tenga cuidado con eso.

https://msdn.microsoft.com/en-us/library/azure/jj650016.aspx

Hari Krishna S
fuente
7

El equipo de Azure SQL Database se complace en anunciar que ahora hay una opción que puede atender su solicitud. Acabamos de anunciar una opción "sin servidor" para Azure SQL DB que detendrá su base de datos cuando no esté en uso. Puede leer más sobre la función aquí: SQL Database Serverless

Conor Cunningham MSFT
fuente
No parece que la función "Auto Pause" funcione. Tengo una base de datos sin servidor. Se establece la casilla de verificación "Habilitar pausa automática" y el período de tiempo se establece en 1 hora. Acabo de regresar de las largas vacaciones y noté que SQL Database consumió los segundos de núcleos virtuales todos estos días. No se realizaron solicitudes, la aplicación que usa esta base de datos no estaba activa. El gráfico de la página Descripción general muestra un uso constante de la CPU de ~ 0,007%. No tengo idea de cómo evitar que consuma CPU mientras está inactivo.
Andrew Simontsev
Después de una investigación adicional y este hilo: stackoverflow.com/questions/57909700/… He descubierto que el problema está en el nivel de la aplicación. Perdón por una falsa alarma.
Andrew Simontsev
Vaya, esta es una gran opción. Mucho más barato y rápido después de cambiar a esto para mi base de datos de desarrollo. ¡Gracias!
faddison
Tenga en cuenta que la opción básica sin servidor es más cara (por segundo) que el servidor "aprovisionado" comparable, y mucho más que las opciones estándar y básica . Por ejemplo, la opción "sin servidor" más barata, si se ejecutara a tiempo completo, costaría 425 dólares al mes. Si tiene una base de datos que solo necesita estar en línea durante unos minutos al mes, como yo, está bien. Si de lo contrario estaría utilizando la base de datos aprovisionada de uso general comparable , pero espera que se ejecute menos del 90% del tiempo en promedio, también está bien. En otros escenarios, sin embargo, puede resultar bastante caro.
Jeremy Caney
Entonces, para una base de datos de desarrollo, la base de datos básica le costará $ 5 / mes. Con la base de datos sin servidor, obtiene ocho horas por el mismo precio. Si no está desarrollando activamente contra la base de datos y solo lo necesita en ocasiones para, por ejemplo, probar una revisión como parte del mantenimiento sostenido, probablemente esté bien. Pero si está desarrollando activamente contra él, será mucho más costoso que una base de datos básica , a menos que, de lo contrario, necesite muchas DTU para su base de datos de desarrollo.
Jeremy Caney
3

De acuerdo con la respuesta de @Shiva. Pero si simplemente está probando SQL Server en una máquina virtual de Azure, no querrá incurrir en cargos por dejarlo funcionando accidentalmente durante el fin de semana o las semanas. Una solución es utilizar la función de apagado automático .

ingrese la descripción de la imagen aquí

Sami
fuente
3

Esto ahora es posible y la función de vista previa es pública. Azure SQL Database sin servidor

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless

Pwd9000
fuente
La opción sin servidor ofrece una gran flexibilidad y no factura a menos que se esté utilizando. Esto es ideal para bases de datos que se utilizan poco a lo largo del tiempo. Sin embargo, el tiempo de inicio después de que entra en modo de espera es un factor a tener en cuenta. Sin embargo, para propósitos de desarrollo, esto es excelente.
Greg Gum
2

Considerando que, a esta baja escala (requisito de reducción (pausa) en lugar de ampliación), SQL que se ejecuta dentro de una máquina virtual podría ser una mejor respuesta para usted ...

Simón
fuente
2

No puede bajar la carga hasta cero, pero casi ...
Si prueba este comando SQL:

alter DATABASE myDB modify (EDITION = 'Basic') 

o

alter DATABASE myDB modify (EDITION = 'Standard', SERVICE_OBJECTIVE = 'S0', MAXSIZE = 10 gb)

entonces su costo puede bajar a algo como 5 USD por mes (dependiendo del tamaño de su base de datos).
Cuando vuelva a trabajar en su base de datos, solo necesita ejecutar

alter DATABASE myDB modify (EDITION = 'Standard', SERVICE_OBJECTIVE = 'S2', MAXSIZE = 10 gb)

y todo volverá a la normalidad, después de unos minutos.

Si tiene más de una base de datos, puede usar la opción Elastic Pool para reducir también el costo total.

Henrik Staun Poulsen
fuente
1

Como está, no es compatible, sin embargo, hay algunas soluciones. Realmente depende de cuánto tiempo desee detenerlo y qué tan inmediatamente lo desee y del tamaño de la base de datos. Si es por un par de horas, es posible que no valga la pena porque la facturación es por hora y es posible que tenga problemas de redondeo. Si es de días, puede eliminarlo y restaurarlo cuando sea necesario. Si se trata de semanas, otra opción es exportar la base de datos e importar cuando sea necesario. También es posible que desee verificar la estrategia de copia de seguridad para la edición que elija antes de preferir exportar / restaurar. La otra cosa a tener en cuenta es la necesidad inmediata frente a la planificada. Si es inmediato y la base de datos es grande, asegúrese de que los SLA en su lugar funcionen para usted

Sirisha Chamarthi
fuente
0

Sí, puede hacerlo con Azure Serverless SQL Database. Si bien sus recursos informáticos se suspenderán cuando la base de datos no esté en uso, definitivamente ahorrará los costos de los recursos informáticos, sin embargo, la facturación continuará por los recursos de almacenamiento. Puede establecer el tiempo de espera inactivo para la base de datos después del cual se suspenderán los recursos informáticos. Este tiempo de espera puede ser tan bajo como 1 hora.

Lea esto: https://azure.microsoft.com/en-in/updates/update-to-azure-sql-database-serverless-pro provide - even - greater - price - optimization/

Ajay Narvekar
fuente
-1

Esto es lo que hice con mi base de datos de Azure (20/4/19)

Escale las DTU de la base de datos lo más bajo posible sin dejar de reservar hasta 250 GB, que resultan ser 10 DTU con un costo estimado de 1,50 por DTU (estimado en $ 15 por mes). Para mí, eso es casi tan bueno como apagarlo y encenderlo. Puedo escalarlo hasta 100 DTU cuando quiero obtener más procesamiento y reducirlo cuando no lo hago. Incluso a 100 DTU durante todo un mes, el costo fue de solo $ 75,93 el mes pasado en mi base de datos de prueba.

NOTA: NO estoy usando una máquina virtual para ejecutar una base de datos, solo el servidor SQL estándar que obtiene cuando crea una base de datos en Azure.

Daniel
fuente