Las otras respuestas son técnicamente correctas, pero no correctas en el mundo real. Esto es lo que necesita preguntar al negocio:
¿A qué horizonte de tiempo estoy apuntando? En su caso, está buscando un número de 12 meses.
Durante ese tiempo, ¿archivaremos datos o conservaremos todos los datos? En algunas empresas, se le permite (o se le exige) mantener solo una cierta cantidad de datos, como los últimos 12 meses. En ese caso, deberá calcular el crecimiento de los datos (que responderán las preguntas posteriores), pero luego volver a los últimos 12 meses consecutivos. No puede simplemente decir: "En este momento, esa cantidad de datos es de 100 GB", porque si su volumen de datos está creciendo, entonces los últimos 12 meses también están creciendo. La cantidad de tiempo puede ser constante, pero los datos no lo son.
¿Agregaremos usuarios adicionales? Por ejemplo, el negocio podría estar creciendo en nuevos territorios o adquiriendo nuevos clientes. Si duplican la base de usuarios, en algunos casos, los datos comenzarán a duplicarse también.
¿Esperamos que el volumen de negocios crezca? Si realiza un seguimiento de las ventas en un sitio web, por ejemplo, y comienza a publicar anuncios de Super Bowl o World Cup, su volumen de datos puede alcanzar la curva de crecimiento del palo de hockey.
¿Agregaremos funcionalidad adicional en la aplicación? Si la aplicación comienza a almacenar imágenes de repente, esto afectará dramáticamente el tamaño de la base de datos.
¿Agregaremos datos de otra fuente o registraremos datos nuevos? Si comienza a capturar clics en el sitio web, o en un almacén de datos, agregando fuentes adicionales, el volumen de datos crecerá.
¿Los desarrolladores o los DBA serán índices de ajuste de rendimiento? Si va a permitir que las personas creen índices, puede duplicar fácilmente (o triplicar o cuadruplicar) el tamaño de sus datos dependiendo de cuán celosos se pongan.
Y mientras haga estas preguntas, también debe preguntar si se espera que el rendimiento permanezca igual, se degrade o mejore. Me gusta mapear el crecimiento proyectado en un gráfico de líneas y luego comparar las inversiones en hardware y capacitación del personal en esa misma línea de tiempo.
No puede proyectar con precisión el crecimiento futuro sin un historial de crecimiento anterior. Sin embargo, puede hacer trampa y obtener una tendencia aproximada utilizando el historial de copias de seguridad, como lo detalla Erin Stellato en Trending Database Growth From Backups .
Trace el resultado de la siguiente consulta en Excel:
fuente
Hay muchas maneras de cómo puede planificar la capacidad de la base de datos.
historial de copia de seguridad de msdb si se recorta regularmente, no le quedarán muchos datos para el análisis
Como Mark señaló, se puede hacer usando el método descrito por Erin: tendencia en el crecimiento de la base de datos desde la copia de seguridad.
Incluso puede usar PIVOT para descubrir el crecimiento de la base de datos durante un período de 12 meses a partir del historial de copias de seguridad de la siguiente manera:
Hay otra forma que le resultará realmente útil, como lo describe excelentemente Chad Miller en SSC: Planificación de la capacidad espacial de la base de datos . También se centra en lo
days remaining
que es muy útil.fuente
Hay otro método que involucra cálculos matemáticos y esto daría resultados precisos. Como ya se indicó, las copias de seguridad serían las mejores para referirse al crecimiento de datos, ya que usted dijo que necesita calcular y predecir el tamaño de la base de datos debajo de los enlaces de Microsoft.
Tamaño estimado de la base de datos
Tamaño estimado del índice agrupado
Tamaño estimado del montón
Tamaño estimado de la mesa
fuente
Espero que este código ayude:
Funciona en función del historial del tamaño de la copia de seguridad (en MB), proporciona mes a mes MB mínimos, MB promedio, MB máximo y diferencia con respecto a otros meses en MB.
Lista todas las bases de datos con copias de seguridad, excepto las bases de datos del sistema.
fuente
Creo que la publicación de Brent Ozar es acertada. He estado en un proyecto de DB de hinchazón masiva y tuve exactamente el mismo problema que tú aquí, y no es tan simple.
Dado que es mejor al menos hacer algo, incluso si no es realmente tan preciso, configuraría las tablas requeridas y un trabajo (o cualquier otro método que desee, cualquier cosa para consultar los tamaños y almacenarlo en algún lugar de manera confiable) para realizar un seguimiento las filas y el espacio utilizados para DB y todas sus tablas semanalmente y utilícelo para proyectar la curva de crecimiento más probable. Usar el historial de copias de seguridad también es una gran idea. Pero independientemente del método, necesita tiempo para obtener incluso datos confiables de forma remota.
Aparte de eso, realmente depende de su situación. Puede ser que el porcentaje de uso de su base de datos ahora sea solo una fracción de lo que será en los próximos 6 meses, por ejemplo, cuando su software gane más terreno, lo que hace imposible predecir el crecimiento explosivo que se avecina. Es posible que haya transferencias masivas de datos anuales que duplicarán el tamaño de la base de datos, pero solo se enterará de esa masa después del hecho.
Pero como se dijo, si el crecimiento es una preocupación, entonces absolutamente debe hacer algo para seguirlo. Lo último que desea es encontrarse dentro de 6 meses con una base de datos dos veces más grande que su proyección original de por vida, tener que explicarle a su cliente cómo o por qué sucedió eso, sin mencionar que tiene que comenzar a adivinar cuánto más crecerá. en los próximos 6 meses También hay algunos beneficios muy obvios de saber dónde se han ido los nuevos datos y cuál es el crecimiento relativo de cada tabla en un período de tiempo dado, ya que puede proporcionar información valiosa sobre diferentes tendencias, posibles problemas de software, etc. todo por un esfuerzo relativamente pequeño .
fuente