La valeur stockée dans les métadonnées n'est pas garantie d'être correcte. DBCC UPDATEUSAGE
peut être utilisé pour corriger cela quand cela se produit (moins probable depuis SQL Server 2000)
De plus, il n'est pas cohérent sur le plan transactionnel. Vous pouvez lire une valeur de comptage mise à jour par une transaction non validée.
Et il est possible que ces valeurs soient également mises à jour manuellement.
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