Few checkpoints works only for Sql Server 2005 or higher version, Here are the checkpoints name…
- AV_FRAGMENTATION
- LOGIC_FRAGMENT
- SCAN_DENSITY
- LONG_QUERIES
- LONG_JOBS
- MIRROR_SQLINSTANCE
- MIRROR_STATE
- MIRROR_WITNESS_SERVER
- SUSPECT_PAGES
I doubt, the user with which probe(5.X) is configured have the required privileges at the table in database, It would be the possible reason that probe is not able to fetch information from table.
Note***
There was a bug in probe version older than 5.0 that probe ignores the configured user and use the administrator user by default to establish the connection with the database. So we have observed similar issues in the past where customer complained that probe v4.90 or 4.95 used to work and 5.0 is not working but the actual issue was that the configured user didn’t had the required privileges, so after upgrading to 5.0 probe started using the configured user (which actually doesn’t had the required privileges ) so the required results were not observed.
On giving the required privileges to the configured user, all the customer issues were resolved.
In order to confirm the same here in this issue, we need to ask customer to connect to the DB server (SQL server mgmt. studio) using the configured user in probe and then try executing the below checkpoint queries. Based on the outcome we could proceed further with our analysis.
av_fragmentation = sp_MSforeachdb 'SELECT distinct ''?'' db_name, OBJECT_NAME(i.object_id) AS tablename, isNull(i.name,'''') AS indexname, phystat.avg_fragmentation_in_percent as fragmentation, alloc_unit_type_desc as alloc_unit FROM sys.dm_db_index_physical_stats(db_id(''?''), NULL, NULL, NULL, ''LIMITED'') phystat JOIN [?].sys.indexes i ON i.object_id = phystat.object_id AND i.index_id = phystat.index_id where OBJECT_NAME(i.object_id) is not null'
long_queries = SELECT r.session_id spid, s.host_process_id hostid, s.host_name, s.login_name loginname, s.program_name, (convert(dec(15,3),r.cpu_time))/1000 cpu_time, (convert(dec(15,3),r.total_elapsed_time))/1000 elapsed_time, convert(varchar(3000),isNull(SUBSTRING (st.text,1,3000),'n/a')) as sql_text FROM sys.dm_exec_sessions s, sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) as st where s.session_id = r.session_id and r.status = 'running' and s.session_id <> @@SPID
mirror_sqlinstance = SELECT rtrim(DB_NAME(database_id)) AS 'object', rtrim(mirroring_partner_instance) AS mirroring_partner_instance FROM sys.database_mirroring WHERE mirroring_guid IS NOT NULL and mirroring_role = 1
It would be more helpful if customer can open a case for same in order to track it properly.