Hace un par de meses estuvimos trabajando en un proyecto de escalabilidad de bases de datos, y entre otras cosas, uno de los datos que necesitábamos conocer era la memoria utilizada por cada base de datos en una instancia de SQL Server.

El escenario era el siguiente: una instancia de SQL Server daba servicio a un número de bases de datos que estaban distribuidas de la siguiente forma:

  • Una base de datos “general” que era compartida por todas las aplicaciones que usaban el servidor de base de datos.
  • Una base de datos por empresa que hacía uso del servicio.

Necesitábamos conocer cuanta memoria usaba cada base de datos “de empresa”, porque parte del trabajo consistía en conocer a cuantas bases de datos podría dar servicio la instalación. El objetivo era grosso modo, conocer cuantas páginas de datos utilizaba cada base de datos de la instalación.

Para ello usamos la siguiente consulta (extraído de BOL) que devuelve las páginas de datos asignadas a cada BD:

SELECT

count(*) AS cached_pages_count

, count(*) * 8. / 1024 AS MB

,CASE database_id

WHEN 32767 THEN ‘ResourceDb’

ELSE db_name(database_id)

END AS Database_name

FROM sys.dm_os_buffer_descriptors

GROUP BY db_name(database_id) ,database_id

ORDER BY cached_pages_count DESC

 

A este dato obtenido hay que añadirle el resto de componentes de SQL Server; por ejemplo, memoria asignada para bloqueos, caché de procesos, servidores vinculados, etc. pero si nos da una aproximación muy real del porcentaje de memoria total que utiliza cada base de datos. Al fin y al cabo, es cuestión de contar habas J

En otro post, veremos caché de procesos, y otros componentes…

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like
Leer más

Evalúa el impacto que tiene tu proyecto de Power BI

Ya sabemos que cuando una empresa tiene que decidir si se lanza o no a invertir en un proyecto de Business intelligence tiene que encontrar las respuestas a todas las preguntas que le surgen sobre su eficacia: "¿realmente le vamos a sacar partido?", "¿nos dará la información que necesitamos?", "¿nos va a reportar beneficios?"... En muchos casos a las empresas les resulta complicado tener la respuesta a todas estas preguntas, sobre todo cuando nos encontramos en las primeras fases del proyecto. Pero, ¿y cuando está ya está funcionando? Surgen nuevas preguntas: "Sí, todos estos gráficos están muy bien, pero: ¿realmente me dicen lo que quiero saber?, ¿estoy acertando con estos informes?, ¿se utilizan dentro de la empresa o es dinero tirado?..."
Leer más

¿Qué es Machine Learning?

Iníciate en el Machine Learning: ¿qué es? ¿qué tipo de problemas puedo resolver? ¿cómo puede beneficiar mi negocio? ¿cómo comienzo a implementar esta tecnología? En este artículo nos adentraremos en el machine learning dirigido a los negocios y sus principales problemas. Aprende el concepto básico y sus aplicaciones...