Es kann nicht garantiert werden, dass der in den Metadaten gespeicherte Wert korrekt ist. DBCC UPDATEUSAGE
kann verwendet werden, um dies zu korrigieren, wenn es passiert (weniger wahrscheinlich seit SQL Server 2000)
Es ist auch nicht transaktionskonsistent. Sie können einen Zählwert lesen, der durch eine nicht festgeschriebene Transaktion aktualisiert wurde.
Und es ist möglich, dass diese Werte auch manuell aktualisiert werden.
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