Разница между параметрами NOTRUNCATE и TRUNCATEONLY при сжатии базы данных заключается в следующем:
- NOTRUNCATE перемещает назначенные страницы с конца файла в неназначенные страницы в начале файла. 1 Это действие сжимает данные в файле, но свободное место в конце файла не возвращается операционной системе, и физический размер файла не изменяется. 1
- TRUNCATEONLY освобождает всё свободное пространство в конце файла и возвращает его операционной системе. 1 При этом не перемещаются какие-либо страницы в файле, а файл данных сжимается только до последнего назначенного экстента. 1
Таким образом, при использовании NOTRUNCATE база данных не сжимается в привычном понимании, а при использовании TRUNCATEONLY происходит обрезание файла, начиная с последней используемой страницы. 2