Ya hemos hablado en varios ocasiones de los diferentes versiones y tamaños que puede tener SQL Azure.
A día de hoy existen dos versiones de SQL Azure; Web Edition y Business Edition. La versión Web Edition tendrá un máximo de 5Gb, mientras que la versión Businnes tendrá un máximo de 50 Gb.
Los rangos que podemos elegir para el tamaño de la base de datos son 1, 5, 10, 20, 30, 40 y 50 GB.
Pero…
¿Qué pasa si elijo una base de datos de 1 Gb y llego a 1 Gb de espacio usado?
¿ Qué pasa si elijo una base de datos de 50 Gb y necesito más?
¿Si tengo una base de datos de 50 Gb y sólo uso 1 Gb? ¿Cuánto se paga?
Lo primero, es que sea como cuál se el tamaño elegido, el tamaño de la base de datos se puede modificar, ya se aumentando tamaño o disminuyéndolo, teniendo en cuenta que el máximo es 50 Gb. Más allá de este tamaño sería necesario crear una segunda base de datos y particionar los datos de la misma.
Otro tema a tener en cuenta, es que la facturación NO se hace por el tamaño de la base de datos elegida al crear la base de datos. Si elijo una base de datos de 50 Gb y tengo ocupados 12 Gb, no pago por una de 50, sino por una de 20.
A la hora de facturar se tienen en cuenta los rangos posibles; si mi base de datos ocupa 200mb, pagaré por el precio de la de 1 Gb, si mi base de datos ocupa 19 Gb pagaré por el precio de la de 20 Gb.
A día de hoy el giga de datos cuesta $9.99 / mes.
Si quieres saber el rango en el que te encuentras y por tanto lo que pagarás, puedes lanzar la siguiente sentencia:
SELECT DATABASEPROPERTYEX ('MyDDBB' , 'MaxSizeInBytes' )
Tamaño real de la base de datos, que lógicamente siempre será inferior al tamaño devuelto por la sentencia anterior.
SELECT SUM(reserved_page_count) * 8192 FROM sys.dm_db_partition_stats
Si se llega al tamaño máximo de la base de datos y se intenta insertar más datos, tendremos un bonito error
Si necesitamos controlar el código de error en nuestra aplicación C#, el código devuelto es el 40544.
¿Pero no habíamos dicho que base de datos puede aumentarse de tamaño de la base de datos? Sí, pero…
Si estamos en una versión Web Edition de 1Gb y necesitamos más, de manera automática SQL Azure aumenta la base de datos y nos coloca en el siguiente rango, hasta un máximo de 5 Gb.
Si estamos es una versión Business Edition, podrá ir aumentando de manera automática en los rangos soportados dentro de esta versión; 1, 5, 10, 20, 30, 40 y 50.
Lo que no se hace de manera automática es el hecho de pasar de una versión Web Edition a una Business Edition. Si es una versión Web Edition y necesitamos más de 5 Gb, la base de datos NO aumentará de forma automática a 10 Gb.
No se hace de manera automática, pero SÍ se puede hacer de forma manual.
ALTER DATABASE MyDDBB MODIFY (EDITION='BUSINESS', MAXSIZE=10GB)
Una pregunta off topic; si por cada BBDD son 9,99$ ¿sabes si también son tarificadas en sql azure las BBDD de wharehouse destinadas a la creación de cubos?
Gracias Ibon
Hola,
no tengo muy clara la pregunta, SQL Azure no tiene cubos. ¿A qué te refieres exactamente?
La cosa es sencilla, si creas una base de datos pagas por ella en función de lo que uses y el rango dónde te encuentres, independientemene del uso que le vayas a dar.
Un saludo,