Okay thank you. There seems to be an essential, yet so vague distinction between the initial size and default size of a database.
Conclusions by this thread:
- ALTER DATABASE ... MODIFY FILE with SIZE parameter alters only the default size, not the initial size.
- The initial size is set when you create your database, using the SIZE parameters.
- The only way to change initial size is to use DBCC SHRINKFILE with the target_size parameter. Note: the initial size cannot be increased, ie. specifying a larger size as the target_size has no effect.
- A workaround to increase initial size is to create a new database with larger size, and migrate everything (structure and data)
- The behavior of DBCC SHRINKFILE / SHRINKDATABASE contradicts the documentation: They ignore the default size, but will not shrink below the initial size (unless you set the target_size parameter)
- SQL Server Management Studio GUI adds even more to the confusion: if you check the properties of a database, the Files page has a misleading Initial size column, which actually gives you the default size value. Changing this value translates to the following T-SQL: ALTER DATABASE [x] MODIFY FILE ( NAME = N'x_Data', SIZE = xKB )