Thankfully in SQL Server there are some column decorators that specify that the system should auto-populate the column for us.
Recently, I needed to have a quick list of which columns those are.
Here is a working code that I will come back and tighten up:
select [table] = quotename(tblSS.name) + '.' + quotename(tblSO.name) , [column] = tblSC.name , [dataType] = tblST.name , [citationPremise] = case when (tblSC.[is_identity] =1) then 'Identity' when (tblSC.[is_computed] =1) then 'Computed' when (tblST.[name] = 'timestamp') then 'Timestamp' end from sys.objects tblSO inner join sys.schemas tblSS on tblSO.schema_id = tblSS.schema_id inner join sys.columns tblSC on tblSO.object_id = tblSC.object_id inner join sys.types tblST on tblSC.system_type_id = tblST.system_type_id and tblSC.user_type_id = tblST.user_type_id where tblSO.is_ms_shipped = 0 and tblSO.[type] = 'U' and ( ( tblSC.[is_identity] = 1) or ( tblSC.[is_computed] = 1) or ( [tblST].[name] in ( 'timestamp' ) ) ) order by [table] asc , [column] asc