Невозможно получить точный размер резервной копии, пока вы не попытаетесь выполнить резервное копирование базы данных.
Приблизительный размер можно определить, посмотрев на размеры файлов базы данных.Это полезно, если вы не знаете, насколько он будет большим, и вам нужно «опубликовать» некоторую оценку несчастному пользователю, чей диск заполнен.Но реальные размеры базы данных, вероятно, будут намного меньше.
SELECT CAST(SUM(size) AS DECIMAL) * 8192 from sys.database_files
Учитывая, что вам все равно придется добавить это предложение try-catch, гораздо более простые и точные оценки можно получить изглядя на последний размер резервной копии следующим образом:
SELECT TOP 1 database_name, backup_size FROM msdb..backupset ORDER BY backup_finish_date DESC
Вы можете сравнить любое из этих значений с объемом свободного дискового пространства.Может быть полезно добавить некоторый запас к числу, полученному последним методом, чтобы учесть некоторый ожидаемый постепенный рост базы данных.