SQL Server: modify data file size and shrink
When DB itself perform the shrink operation then it computes the value stored in the DB and try to store them in such a way that they takes less size, hence you see reduced size of DB. OTOH when you are saying that you want to modify size, then are you telling your DB in which order it should rearrange your data such that your data remain unchanged?