Adjust the auto growth to acquire sizes conducive for production performance as well as packing of attributes.
Format the drive using the larger NTFS metadata, file tracking structures providing a larger set of attribute structures.
After millions of grows from a large import or index rebuild (usually around 300GB) I can exhaust the attribute list and trigger the 665 error.
Repro 3 – BCP BCP extends the output file in the process of simply writing to the file.
This can work very well but in this case it back-fired.
The output location was shared and as each copy of BCP was writing data it caused them to leap frog each other on the same physical media.
The sparse nature of DBCC snapshot or a snapshot database can drive attribute exhaustion.
As space is acquired the disk storage location(s) and size(s) are stored in the attribute structures.
As writes occur to the snapshot target more attributes are used.
The space allocations and clusters are by definition and design stored in spare locations.
Repro 2 – Database files I can insert data into a database with a smaller auto grow size, each acquiring new disk space.
If the disk space is not acquired in strict, cluster adjacent order the growth is tracked with separate attributes.
It's always a good first step to make sure that you restart Steam as well as your computer.