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:
1 | SELECT SUM (reserved_page_count)*8.0/1024 + SUM (lob_reserved_page_count)*8.0/1024 as MB |
2 | FROM sys.dm_db_partition_stats |
Si por otro lado quisiéramos conocer cuánto espacio ocupa cada una de las tablas de la base de datos, podríamos utilizar esta otra:
1 | SELECT SUM (reserved_page_count)*8.0/1024 + SUM (lob_reserved_page_count)*8.0/1024 as MB |
2 | from sys.dm_db_partition_stats, sys.objects |
3 | where sys.dm_db_partition_stats.object_id = sys.objects.object_id |
4 | group by sys.objects. name |
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:
1 | SELECT DATABASEPROPERTYEX (DB_Name(), 'Edition' ) as Edition, |
2 | CONVERT ( BIGINT ,DATABASEPROPERTYEX (DB_Name(), 'MaxSizeInBytes' )) / 1073741824 as 'GB' |
Espero que sea de utilidad
¡Saludos!
No hay comentarios:
Publicar un comentario