• I used to track it by using the backup history, which includes the database size. Since I took daily backups, and did not delete full backup history, it was good enough for my purposes and did not require any extra development or jobs to implement. Just run some queries against the existing system tables.

    I think there are a number of articles & posts on the topic that might give you the type of solution you want.