Una de las tareas más comunes cuando trabajamos con las bases de datos de SQL Azure podría ser la necesidad de recuperar el tamaño usado de la base de datos y el límite de la misma para determinar si ha llegado el momento de escalar. Esta información es claramente visible desde el portal de Windows Azure:

Uno de los desafíos que nos podemos encontrar al trabajar con SQL Azure es la falta de algunos de los procedimientos almacenados, como por ejemplo uno de los más frecuentes:

Para poder recuperar el espacio usado por una base de datos en concreto podemos utilizar la siguiente sentencia SQL:
[sql]
SELECT SUM(reserved_page_count)*8.0/1024 + SUM(lob_reserved_page_count)*8.0/1024 as MB
FROM sys.dm_db_partition_stats[/sql]
[sql]
SELECT sys.objects.name, SUM(reserved_page_count)*8.0/1024 + SUM(lob_reserved_page_count)*8.0/1024 as MB
from sys.dm_db_partition_stats, sys.objects
where sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name
[/sql]
Para finalizar, si necesitáramos saber desde SQL cuál es el tamaño límite y la edición de una base de datos haríamos uso de DATABASEPROPERTYEX para recuperar los valores de las propiedades Edition y MaxSizeInBytes:
[sql]SELECT DATABASEPROPERTYEX (DB_Name(), ‘Edition’) as Edition,
CONVERT(BIGINT,DATABASEPROPERTYEX (DB_Name(), ‘MaxSizeInBytes’)) / 1073741824 as ‘GB'[/sql]
Espero que sea de utilidad 😀
¡Saludos!
