Tengo MS SQL 2008 R2, 500 bases de datos. ¿Cuál es la forma más eficiente, fácil y 'moderna' de consultar todos los tamaños de bases de datos?
La salida debe tener columnas:
- Nombre de la base de datos
- DataFilesSize
- LogFilesSize
sql
sql-server
tsql
sql-server-2008-r2
Alex Aza
fuente
fuente
No sé exactamente qué quieres decir con eficiencia, pero esto es sencillo y funciona para mí:
Con resultados como:
Nota: fue inspirado por este artículo
fuente
Aquí hay una consulta simple, rápida y confiable que proporcionará todos los nombres, tamaños y también los estados de las bases de datos y archivos de registro (por ejemplo, EN LÍNEA) en una salida agradable y fácil de leer:
fuente
con el tamaño total de la base de datos ordenado Desc
fuente
¡Todo parece demasiado complicado! ¿O me estoy perdiendo algo?
Seguramente todo lo que necesitas es algo como:
o si no quieres el registro:
fuente
encuentre más detalles o descargue el script desde el siguiente enlace https://gallery.technet.microsoft.com/SIZE-OF-ALL-DATABASES-IN-0337f6d5#content
fuente
fuente
GROUP BY DB.name, DB.database_id ORDER BY DB.database_id
retiene el orden de la mesa.Recientemente encontré esta página buscando algo como esto. En caso de que alguien se encuentre con esto y esté interesado solo en las bases de datos de usuarios principales, puede usar algo como esto que excluye Master, msdb ...
fuente
fuente
No para robar su respuesta y adaptarla para puntos o cualquier cosa, pero aquí hay otra factorización:
fuente
Una mejor y más simple
Le dará el tamaño de los archivos de datos y los archivos de registro por separado como se muestra a continuación
fuente
El siguiente código me funcionó muy bien.
fuente
Versión simplificada y mejorada:
fuente
a veces, los problemas de SEGURIDAD evitan solicitar todos los db y debe consultar uno por uno con el prefijo db, para esos casos creé esta consulta dinámica
fuente