Pregunta

Estoy escribiendo un procedimiento almacenado que tiene que enviar un correo electrónico cuando una unidad de DVD RW está casi lleno. encontré master.sys.xp_fixeddrives pero sólo muestra el espacio libre en disco para los discos duros fijos. No he sido capaz de encontrar algo que me diga el espacio libre para las unidades "no fijos". ¿Hay una sp indocumentado o función que yo no sepa?

¿Fue útil?

Solución

alternativa podría ser el uso de PowerShell para captar la información. Todo lo que necesita es unos pocos comandos atados juntos:


$measure = Get-WmiObject Win32_LogicalDisk | Where {$_.DriveType -eq 5}
if ($measure.FreeSpace -lt 20 { "More logic"} else {"something else"}

Se podría añadir en la lógica a la medida de su límite (el valor es en bytes). A continuación, utilice Enviar-MailMessage cmdlet para enviar realmente su mensaje. Envolver todo eso y luego tener una llamada de trabajo del Agente SQL el guión de forma programada.

Otros consejos

No fue capaz de probar una unidad de DVD, pero se puede tratar de usar el procedimiento xp_cmdshell. Si el DVD está en la unidad D, a continuación, tratar xp_cmdshell 'dir D:'. La última fila (antes NULL) dará el espacio libre. Se requerirá un poco de análisis.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top