Мы использовали представление sys.database_files и функцию FILEPROPERTY , чтобы получить размер базы данных.К сожалению, как я только что нашел в документации , значения, возвращаемые sys.database_files, не всегда надежны:
Когда вы удаляете или перестраиваете большие индексы, или отбрасываете или усекаетеПри работе с большими таблицами компонент Database Engine откладывает фактические освобождения страниц и связанные с ними блокировки до момента фиксации транзакции.Отложенные операции удаления не освобождают выделенное пространство немедленно.Поэтому значения, возвращаемые sys.database_files сразу после удаления или усечения большого объекта, могут не отражать фактическое доступное дисковое пространство .Для получения дополнительной информации об отложенных распределениях см. Удаление и восстановление больших объектов.
Итак, если большая таблица только что была отброшена, тогда когда я могу надежно запросить представление sys.database_files?Как долго мне ждать?