If you want to check if a given row has changed, I highly recommend that you use the "timestamp" column. The value is automatically updated by the Sql server in each row modification. Then, if the row is changed, the value will be different after modification, and you could notice it without implementing logic or querying the entire table.
But if you want to know if at least one row is updated, I recommend that you use:
DECLARE @Tablename sysname = 'MyTable';
SELECT modify_date FROM sys.tables WHERE name = @Tablename;
(If you use .Net in your business layer, you might be interested in taking a look at SqlDependency)
source share