Определите свободное пространство на «нефиксированном» диске

dba.stackexchange https://dba.stackexchange.com/questions/3931

  •  16-10-2019
  •  | 
  •  

Вопрос

Я пишу хранимую процедуру, которая должна отправить электронное письмо, когда диск DVD RW почти заполнен. я нашелmaster.sys.xp_fixeddrivesНо это показывает только бесплатное пространство диска для фиксированных жестких дисков. Я не смог найти что -то, что скажет мне свободное пространство для «нефиксированных» дисков. Есть ли без документов SP или функции, о которой я не знаю?

Это было полезно?

Решение

Альтернативой может быть использование PowerShell для получения информации. Все, что вам нужно, это несколько команд, связанных вместе:


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

Вы можете добавить логику, чтобы измерить ваш предел (значение находится в байтах). Затем используйте командлет Send-MailMessage, чтобы фактически отправить ваше сообщение. Заверните все это, а затем попросите задания агента SQL, позвоните по сценарию на запланированной основе.

Другие советы

Я не смог проверить с DVD -приводом, но вы можете попробовать использовать xp_cmdshell процедура. Если ваш DVD находится на Drive D, попробуйте xp_cmdshell 'dir D:'. Анкет Последний ряд (до нуля) даст свободное пространство. Потребуется немного анализа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top