Почему бы вам просто не создать представление?
CREATE VIEW dbo.vPrimaryKeyTab
AS
SELECT tablename = 'table1', MAX(id_column) FROM table1
UNION
SELECT tablename = 'table2', MAX(id_column) FROM table2
/* ... */
;
Теперь вам не нужно ничего обновлять или запускать что-либо в фоновом режиме, и представление всегда будет обновляться (это не будет самый быстрый запрос в мире, но, по крайней мере, вы оплачиваете эту стоимость только тогда, когда вам нужна эта информация, а не постоянно ее обновляете).