Monday, June 27, 2011

Counts from Each Table in DB

USE [dbname] GO SET NOCOUNT ON DECLARE @tabname sysname DECLARE @sql nvarchar(max) DECLARE @rows int DECLARE table_cur CURSOR FAST_FORWARD FOR SELECT name FROM sysobjects WHERE type = 'U' CREATE TABLE #results_tmp ( tabname sysname, cnt int ) OPEN table_cur FETCH table_cur INTO @tabname WHILE @@FETCH_STATUS = 0 BEGIN SET @sql = 'INSERT INTO #results_tmp SELECT ''' + @tabname + ''', count(1) FROM ' + @tabname EXEC sp_executesql @sql FETCH table_cur INTO @tabname END CLOSE table_cur DEALLOCATE table_cur SELECT cnt, tabname FROM #results_tmp ORDER BY cnt DESC DROP TABLE #results_tmp GO

No comments:

Post a Comment