Sunteți pe pagina 1din 2

Monitoreo de espacio libre en discos

Como DBA una de las responsabilidades es supervisar el espacio en disco. Siempre hay que asegurarse de que se tiene suficiente para sus bases de datos, copias de seguridad de bases de datos y cualquier otro tipo de archivos que va a almacenar en el servidor. Si no controla su espacio en disco y se asegura de que tienes espacio suficiente, con el tiempo uno de sus procesos crticos de bases de datos o componentes va a fracasar porque no se puede asignar el espacio en disco que necesita. Dentro de SQL Server hay un procedimiento no documentado que nos puede ayudar a cumplir este cometido. El procedimiento es XP_FIXEDDRIVES, no lleva parmetros ni nada y nos regresa todos los discos a los que tiene acceso SQL Server y su espacio disponible en Megabytes. Es muy sencillo utilizarlo, solo basta con ejecutar el comando xp_fixeddrives de vez en cuando desde el Analizador de consultas para revisar la cantidad de espacio libre, aunque este mtodo consume demasiado tiempo para los administradores de bases de datos. Un mtodo mejor sera automatizar la ejecucin de este comando peridicamente para revisar la cantidad de espacio libre. Algunas tareas de DBA donde la informacin de espacio libre puede ser til: - La primera que se alerte al DBA cuando el espacio libre cae por debajo de un umbral especfico en cualquier unidad de SQL Server. - La segunda sera la de realizar un seguimiento de la historia el espacio libre para la gestin de la capacidad de espacio en disco. La forma de construir un proceso para alertar a la DEA, cuando cualquiera de las unidades de disco de SQL Server cae por debajo de un umbral predeterminado. Para obtener la informacin xp_fixeddrives en una tabla temporal que se utiliza el siguiente T-SQL. create table #FreeSpace( Drive char(1), MB_Free int) insert into #FreeSpace exec xp_fixeddrives A continuacin, por cada unidad se recupera la informacin de espacio libre a partir de esta tabla temporal y se compara con un umbral que se ha fijado para cada unidad. Si la cantidad de espacio libre cae por debajo del valor umbral determinado para la unidad, enviar alerta al DBA mediante xp_sendmail. Aqu est una muestra de un cdigo que hace precisamente eso. declare @MB_Free int create table #FreeSpace( Drive char(1), MB_Free int) insert into #FreeSpace exec xp_fixeddrives select @MB_Free = MB_Free from #FreeSpace where Drive = 'C' -- Free Space on C drive Less than Threshold if @MB_Free < 1024 exec master.dbo.xp_sendmail

@recipients ='greg.larsen@netzero.net', @subject ='SERVER X - Fresh Space Issue on C Drive', @message = 'Free space on C Drive has dropped below 1 gig' Esta alerta de espacio libre bajo permite tiempo al DBA para resolver el problema de espacio libre antes de que sea crtico, y provoque procesos fallidos. Tenga en cuenta que el cdigo anterior tiene un umbral diferente de espacio libre para cada unidad. Otro uso de xp_fixeddrives podra ser la de controlar el uso de espacio en disco a travs del tiempo. Para recopilar la informacin de espacio libre a intervalos regulares, por ejemplo, semanal y lo almacena en una tabla de base de datos. Mediante la recopilacin de informacin de espacio libre en el tiempo y almacenarlo en una tabla del servidor SQL permanente que ser capaz de producir un cuadro de tendencias que muestra el espacio en disco extra de consumo. Al comparar la cantidad de espacio libre entre dos puntos sobre el grfico que ser capaz de determinar el espacio de disco consumido entre esos intervalos. El monitoreo del espacio disponible en disco y las tasas de crecimiento son un par de cosas que un DBA debe realizar. Sin vigilancia se corre el riesgo de quedarse sin espacio y causando graves problemas para su aplicacin.

S-ar putea să vă placă și