-SELECT Job.JobId,Job.Name,Job.StartTime,Job.Type,
- Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
- FROM JobMedia,Job
- WHERE JobMedia.JobId = Job.JobId
- AND JobMedia.MediaId = %1;
-SELECT MediaId,VolumeName,VolStatus,VolBytes,VolFiles,
- VolRetention,Recycle,Slot,MediaType,LastWritten
- FROM Media WHERE MediaId = %1;
+SELECT DISTINCT Job.JobId,Job.Name,Job.StartTime,Job.Type,
+ Job.Level,Job.JobFiles,Job.JobBytes,Job.JobStatus
+ FROM JobMedia,Job
+ WHERE JobMedia.JobId=Job.JobId
+ AND JobMedia.MediaId=%1
+ ORDER by Job.StartTime;
+# 14
+:List Jobs stored for a given Volume name
+*Enter Volume name:
+SELECT DISTINCT Job.JobId as JobId,Job.Name as Name,Job.StartTime as StartTime,
+ Job.Type as Type,Job.Level as Level,Job.JobFiles as Files,
+ Job.JobBytes as Bytes,Job.JobStatus as Status
+ FROM Media,JobMedia,Job
+ WHERE Media.VolumeName='%1'
+ AND Media.MediaId=JobMedia.MediaId
+ AND JobMedia.JobId=Job.JobId
+ ORDER by Job.StartTime;
+# 15
+:List Volumes Bacula thinks are in changer
+SELECT MediaId,VolumeName,VolBytes/(1024*1024*1024) AS GB,Storage.Name
+ AS Storage,Slot,Pool.Name AS Pool,MediaType,VolStatus
+ FROM Media,Pool,Storage
+ WHERE Media.PoolId=Pool.PoolId
+ AND Slot>0 AND InChanger=1
+ AND Media.StorageId=Storage.StorageId
+ ORDER BY MediaType ASC, Slot ASC;
+# 16
+:List Volumes likely to need replacement from age or errors
+SELECT VolumeName AS Volume,VolMounts AS Mounts,VolErrors AS Errors,
+ VolWrites AS Writes,VolStatus AS Status
+ FROM Media
+ WHERE (VolErrors>0) OR (VolStatus='Error') OR (VolMounts>50) OR
+ (VolStatus='Disabled') OR (VolWrites>3999999)
+ ORDER BY VolStatus ASC, VolErrors,VolMounts,VolumeName DESC;