Managing a production database can be a challenge for many reasons. However storage growth has been one I see often as causing issues. From full logs to filled disks, it seems that we can struggle with dynamic workloads where we have no control over who can add data to systems.
Many DBAs have some sort of alert set on data files or disks, but even with those alerts, an unexpected load or runaway query could still fill a disk. I know I've been called back into the office because some business person decided to load an unexpected amount of data. In fact, more than a few times someone thought their load didn't work for some reason and repeated loaded a large amount of data, filling a disk or log file.
Recently, I had a customer ask about tracking table sizes daily in their databases. They were looking to watch table growth. Another person dismissed this as not valuable, which was interesting to me. I've done this in the past, and I've found it valuable. No knowing the size every day, but having an idea of the growth factor. I didn't keep this data long, usually a week rolling older data off as I added more. That was enough for me to trend how quickly a table was growing.
This also allowed me to set an alert if there was unusual growth for a table, and often track down a potential issue quickly. Either I'd realize our workload changed and tables were growing faster, or I could debug a sudden growth issue down to some sort of data load. Often I could catch an issue before I received an alert (or phone call).
I wonder how many of you track table sizes and if you find it beneficial. Is this something that helps you better understand your system or is the total size of the database good enough.
Or maybe you have so much storage allocated you don't worry about space. Lucky you.