An on-line dynamic shrink facility sets an allocation fence in a file and
moves data from above the fence to below the fence. The fence is based on
a target size for the file. When all the data above the fence is moved
below the fence, the space above the fence is freed. The target size can
be a specified size, an original size for the file when it was created, or
a size calculated by examining the amount of space used and adding in an
amount of desired free space. Resources that are required to move the
data, such as old and new allocation units for the data, or that will be
impacted by movement of the data, such as index entries, are locked or
latched to prevent corruption of the data while it is being moved. The
operations are performed in discreet transactions which are immediately
committed to minimize the impact on other users of the file.
Σε απευθείας σύνδεση ένας δυναμικός στενεύει τη δυνατότητα θέτει έναν φράκτη κατανομής σε ένα αρχείο και κινεί τα στοιχεία από επάνω από το φράκτη προς κάτω από το φράκτη. Ο φράκτης είναι βασισμένος σε ένα μέγεθος στόχων για το αρχείο. Όταν όλο το στοιχείο επάνω από το φράκτη κινείται κάτω από το φράκτη, το διάστημα επάνω από το φράκτη ελευθερώνεται. Το μέγεθος στόχων μπορεί να είναι ένα διευκρινισμένο μέγεθος, ένα αρχικό μέγεθος για το αρχείο όταν δημιουργήθηκε, ή ένα μέγεθος υπολογισμένος με την εξέταση του ποσού διαστήματος χρησιμοποιούμενου και την προσθήκη σε ένα ποσό επιθυμητού ελεύθερου διαστήματος. Οι πόροι που απαιτούνται για να κινήσουν τα στοιχεία, όπως οι παλαιές και νέες μονάδες κατανομής για τα στοιχεία, ή που από η μετακίνηση θα προσκρούσουν των στοιχείων, όπως οι καταχωρήσεις δεικτών, είναι κλειδωμένοι ή κλεισμένοι με μάνταλο για να αποτρέψουν τη δωροδοκία των στοιχείων ενώ κινείται. Οι διαδικασίες εκτελούνται στις διακριτικές συναλλαγές που είναι αμέσως δεσμευμένες να ελαχιστοποιήσουν τον αντίκτυπο σε άλλους χρήστες του αρχείου.