I'm having a weird security issue. I have a user that's using SSMS 18.2 on a SQL 2016 server. They are a member of db_datareader but when they pull up the the Row Count column in Object Explorer Details it's blank. As best I can tell it is requiring DBO in order to get the row counts to show up.

User with read access: enter image description here

User with dbo access: enter image description here

Is this a bug or intentional? Does anyone know if there is a lower level of permissions that will give this row count? I know there are plenty of other ways to get the row count, sys.partitions for example, however the user insists they want to use the OED window.

1 Answer 1


Through a little experimentation, I discovered that rowcount requires "VIEW DATABASE STATE".

Methodology: Captured queries that SSMS runs and executed as a user with datareader permissions only. One in particular throws an error. After granting the permission, verified that rowcounts were now visible.

  • 1
    Specifically the query that throws the error is one accessing sys.dm_db_partition_stats to return IndexSpaceUsed - the one getting the row count from sys.partitions actually works fine Commented Jan 1, 2020 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.