Чтобы узнать количество всех строк в таблице без их сканирования, вы можете использовать
select SUM(row_count) AS row_count
from sys.dm_db_partition_stats
where object_id = object_id('dbo.tblName')
and index_id < 2
Я не уверен, есть ли какие-либо предостережения с таким подходом.(Предположительно, он может включать в себя количество необязательных записей или не включать изменения, внесенные в текущую транзакцию)