次のSQLは、データベース内のすべてのテーブルの行数を取得します。
CREATE TABLE #counts
(
table_name varchar(255),
row_count int
)
EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'
SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC
DROP TABLE #counts
出力は、テーブルとその行数のリストになります。
データベース全体の合計行数だけが必要な場合は、次のように追加します。
SELECT SUM(row_count) AS total_row_count FROM #counts
データベース全体の行の総数に対して単一の値を取得します。