I know, there are standard reports and other GUI tools for doing this task for SQL Server 2005 or later but what about when you need to extract such information from a SQL Server 2000 instance or when you just want to write some code? 🙂
Get the disk usage statistics using the undocumented stored procedure sp_msforeachtable
The undocumented stored procedure sp_msforeachtable is here to help you (along with the stored procedure sp_spaceused)!
Here’s how:
--Select the database to be scanned for table disk usage USE [DatabaseName] GO --Create temporary table 1 - Sizes will be in strings/KB create table #tmpSizes( [name] nvarchar(200), [rows] varchar(50), reserved varchar(50), data varchar(50), index_size varchar(50), unused varchar(50) ) --Create temporary table 2 - Sizes will be in KB create table #tmpSizesFinalKB( [name] nvarchar(200), [rows] int, reserved int, data int, index_size int, unused int ) --Get the disk usage per table and store in temp table 1 INSERT INTO #tmpSizes EXEC sp_MSforeachtable @command1="sp_spaceused '?'" --Indirect casting and copying of the information in temp table 2 --This is only when you want to store the disk usage statistics --in a form that allows sorting operations etc. insert into #tmpSizesFinalKB select [name], replace([rows],'KB',''), replace(reserved,'KB',''), replace(data,'KB',''), replace(index_size,'KB',''), replace(unused,'KB','') from #tmpSizes --Access the disk usage results (in KB) select * from #tmpSizesFinalKB order by reserved desc
Now you can easily manipulate the disk usage statistics in temp table #tmpSizesFinalKB in order to represent them in the form you may like!
Strengthen your SQL Server Database Administration Skills – Enroll to our Course!
If you really want to learn sophisticated SQL Server administration techniques, then you should check our on-demand online course titled “Essential SQL Server Administration Tips” (special limited-time discount included in link).
Via the course, you will learn essential hands-on SQL Server Administration tips on SQL Server maintenance, security, performance, integration, error handling and more. Many live demonstrations and downloadable resources included!
Recommended Online Courses:
- SQL Server 2022: What’s New – New and Enhanced Features
- Introduction to Azure Database for MySQL
- Working with Python on Windows and SQL Server Databases
- Boost SQL Server Database Performance with In-Memory OLTP
- Introduction to Azure SQL Database for Beginners
- Essential SQL Server Administration Tips
- SQL Server Fundamentals – SQL Database for Beginners
- Essential SQL Server Development Tips for SQL Developers
- Introduction to Computer Programming for Beginners
- .NET Programming for Beginners – Windows Forms with C#
- SQL Server 2019: What’s New – New and Enhanced Features
- Entity Framework: Getting Started – Complete Beginners Guide
- A Guide on How to Start and Monetize a Successful Blog
- Data Management for Beginners – Main Principles
Related SQL Server Administration Articles:
- Essential SQL Sever Administration Tips
- How to Patch a Standalone SQL Server Instance
- The SQL Server Browser Service and UDP Port 1434
- The Maximum Number of Concurrent Connections Setting in SQL Server
- Top 10 SQL Server DBA Daily Tasks List
- There is no SQL Server Failover Cluster Available to Join
- Encrypting a SQL Server Database Backup
- Script that Returns SQL Server’s Version Name
- …more
Rate this article:
Reference: SQLNetHub.com (https://www.sqlnethub.com)
© SQLNetHub
Artemakis Artemiou, a distinguished Senior Database and Software Architect, brings over 20 years of expertise to the IT industry. A Certified Database, Cloud, and AI professional, he earned the Microsoft Data Platform MVP title for nine consecutive years (2009-2018). As the founder of SQLNetHub and GnoelixiAI Hub, Artemakis is dedicated to sharing his knowledge and democratizing education on various fields such as: Databases, Cloud, AI, and Software Development. His commitment to simplicity and knowledge sharing defines his impactful presence in the tech community.