DECLARE @hr INT , @fso INT, @drive CHAR(1)='F', /* To demonstrate have hard coded the drive letter to F */ @odrive INT, @TotalSize BIGINT, @freespace BIGINT, @AvailableSpace BIGINT, @DriveCollection INT, @DriveCount INT, @FileSystemInstance INT, @volumeName varchar(128), @IsReady VARCHAR(5) EXEC sp_OACreate 'Scripting.FileSystemObject',@fso OUT EXEC sp_OAMethod @fso,'GetDrive', @odrive OUT, @drive EXEC sp_OAGetProperty @odrive,'TotalSize', @TotalSize OUT EXEC sp_OAGetProperty @odrive,'freespace', @freespace OUT EXEC sp_OAGetProperty @odrive,'AvailableSpace', @AvailableSpace OUT EXEC sp_OAGetProperty @fso,'Drives', @DriveCollection OUT EXEC sp_OAGetProperty @DriveCollection,'Count', @DriveCount OUT EXEC sp_OAGetProperty @odrive,'VolumeName', @volumeName OUT EXEC sp_OAGetProperty @odrive,'isReady', @IsReady OUT SELECT @DriveCount driveCount ,@Drive DriveLetter, (@AvailableSpace/1048576)/1024 FreeSpace, @volumeName Volumne, @IsReady DriveStatus, (@TotalSize/1048576)/1024.00 TotalSize, (@freespace/1048576)/1024.00 FreeSpace