Shoudn't DBCC SHIRNKFILE(Data_File, 0) command shrink data file to the last allocated extent?
Without having access to the source code for SQL Server, we can only guess. So,
Edit: 0 means shrink to initial size as per page header. My speculation that it means dummy, below, is incorrect.
SET SPECULATION MODE ON
0 makes no sense. If you want to get rid of the file, you have the EMPTYFILE option. I.e., why would you want to have a file which is 0 MB in size.
I just did a test, and indeed 0 means it doesn't do anything. We could argue that an error messages would be better: &quot;0 MB is not valid file size.&quot;, or something like that. But apparently MS decided to leave 0 as a valid valid for the command and implementing it as a dummy.
SET SPECULATION MODE OFF
I suggest you file a request with MS to either document that 0 means &quot;dummy&quot;, or behavior change so we'll get an error message (less likely to happen).