Script – Informações de espaço em disco


Espaço em Disco

Olá,

O código a seguir tem a finalidade de capturar o espaço atual em disco. É uma mão na roda principalmente quando se usa o Central Management Servers pra disparar a mesma consulta para várias bases diferentes (possibilitando assim uma verificação rotineira mais rápida e prática).

Código

****************

Objetivo: Retorna informações sobre espaço em disco. Execute preferencialmente
Referência: http://technet.microsoft.com/pt-br/library/hh223223.aspx?sentenceGuid=93c89b87-7b2f-580d-6782-762f5b5e88ed#mt1
Dependências: sys.dm_os_volume_stats - Disponível apenas no SQL Server 2008 R2 e superiores

*****************/

SELECT DISTINCT
VS.volume_mount_point [Montagem]
,VS.logical_volume_name AS [Volume]
,CAST(CAST(VS.total_bytes AS DECIMAL(19,2))/1024 /1024 /1024 AS DECIMAL (10,2)) AS [Total (GB)]
,CAST(CAST(VS.available_bytes AS DECIMAL(19,2))/1024 /1024 /1024 AS DECIMAL (10,2)) AS [Espaço Disponível (GB)]
,CAST((CAST(VS.available_bytes AS DECIMAL(19,2)) / CAST(VS.total_bytes AS DECIMAL(19,2)) * 100 ) AS DECIMAL(10,2)) AS [Espaço Disponível ( % )]
,CAST((100 - CAST(VS.available_bytes AS DECIMAL(19,2)) / CAST(VS.total_bytes AS DECIMAL(19,2)) * 100) AS DECIMAL (10,2)) AS [Espaço em uso ( % )]
FROM sys.master_files AS MF
CROSS APPLY [sys].[dm_os_volume_stats](MF.database_id, MF.FILE_ID) AS VS
WHERE CAST(VS.available_bytes AS DECIMAL(19,2)) / CAST(VS.total_bytes AS DECIMAL(19,2)) * 100 < 100

Saída:

Resultado

<Clique na imagem>


4 responses to “Script – Informações de espaço em disco”

  1. Renato fiz o teste da view sys.dm_os_volume_stats no SQL Server 2008 R2 (RTM – Release To Manufacturing) e não funcionou. A View só existe a partir do SQL server 2008 R2 (SP2 – Service Pack 2). Muito boa a experiência!!!!!

Leave a Reply to Patrocínio Maia Diniz Cancel reply

Your email address will not be published. Required fields are marked *