Read / Write by server and database
March 10th, 2009
Modified from Jason Massie’s post, here are queries to tell you your read/write ratio per server and database. Interesting results if you are maintaining multiple databases/application and are acting under the assumption that they behave similarly:
SELECT CAST(SUM(user_seeks+user_scans+user_lookups) AS decimal) / CAST(SUM(user_updates) + SUM(user_seeks+user_scans+user_lookups) AS decimal) AS ReadPercent , CAST(SUM(user_updates) AS decimal) / CAST(SUM(user_updates) + SUM(user_seeks + user_scans + user_lookups) AS decimal) AS WriteRatio FROM sys.dm_db_index_usage_stats SELECT db.name , CAST(SUM(user_seeks+user_scans+user_lookups) AS decimal) / CAST(SUM(user_updates)+SUM(user_seeks+user_scans+user_lookups) AS decimal) * 100 AS ReadPercent , CAST(SUM(user_updates) AS decimal) / CAST(SUM(user_updates) + SUM(user_seeks + user_scans + user_lookups) AS decimal) * 100 AS WriteRatio FROM sys.dm_db_index_usage_stats t JOIN sys.databases db on db.database_id = t.database_id WHERE (user_updates + user_seeks + user_scans + user_lookups) > 0 GROUP BY db.name ORDER BY db.name