No se garantiza que el valor almacenado en los metadatos sea correcto. DBCC UPDATEUSAGE
se puede usar para corregir esto cuando sucede (menos probable desde SQL Server 2000)
Además, no es transaccionalmente consistente. Puede leer un valor de conteo actualizado por una transacción no confirmada.
Y es posible que estos valores también se actualicen manualmente.
CREATE TABLE dbo.YourTable(X INT)
UPDATE STATISTICS dbo.YourTable WITH ROWCOUNT = 1000000
SELECT sum(p.rows) eRowCount
FROM sys.partitions p
WHERE P.object_id =object_id('dbo.YourTable') AND p.index_id < 2