Tags
Count total number of Rows in all databases on a Server, Counting Rows in All Database Tables in SQL Server, SQL Puzzle | How to Count total number of Rows in all databases on a Server
SQL Puzzle | How to Count total number of Rows in all databases on a Server
Write a script to Count total number of Rows in all databases on a Server
Rules/Restrictions
- The challenge is to do it with T-SQL statements only.
- Add your solution(s) in the comments section or send you solution(s) to pawankkmr@gmail.com
SOLUTION – 1
-- SET NOCOUNT ON DECLARE @ServerName AS VARCHAR(MAX)='' DECLARE @SQL AS VARCHAR(MAX)='' DECLARE @dbName AS VARCHAR(1000)='' IF OBJECT_ID('tempdb..#TempBills') IS NOT NULL DROP TABLE #TempBills IF OBJECT_ID('tempdb..#TempBillDetails') IS NOT NULL DROP TABLE #TempBillDetails SELECT * INTO #TempBills FROM sys.databases CREATE TABLE #TempBillDetails([NumberOfRowsIndDatabase] BIGINT) WHILE EXISTS(SELECT TOP 1 name FROM #TempBills) BEGIN SELECT TOP 1 @dbName = name FROM #TempBills SET @SQL = 'INSERT INTO #TempBillDetails SELECT ISNULL(SUM(rowCnt),0) [NumberOfRowsIndDatabase] FROM ( SELECT SUM(p.Rows) rowCnt FROM ['+ @ServerName + '].' + '[' + @dbName +'].sys.objects o INNER JOIN [' + @ServerName + '].[' + @dbName +'].sys.partitions p ON o.object_id = p.object_id WHERE o.type = ''U'' AND o.is_ms_shipped = 0x0 AND index_id < 2 GROUP BY o.schema_id , o.name )l' EXEC (@SQL) DELETE FROM #TempBills WHERE name = @dbName END SELECT SUM(NumberOfRowsIndDatabase) NumberOfRowsIndDatabase FROM #TempBillDetails -- |
Add a comment if you have a solution in mind. I would love to learn it. We all need to learn.
Enjoy !!! Keep Learning
Pawan Khowal
Http://MSBISkills.com