• Why would you need to know how many records in every table have been changed? That seems strange. I could see a few of them, but wouldn't lots of tables be unrelated?

    In any case, you can union up the data as suggested above, querying each table. That might take a long time, and be cumbersome.

    I'd probably build a temp table or build a real table, and then have a stored procedure that queries each table separtely, inserts the data (table name, count, and current GETDATE() ) into this table that you can query. It gives you history, though you can manage that and delete older data regularly. It also lets you stagger the load, potentially keep going if you have issues (set up try..catch blocks) and better manage things than a single query.