SQL Server 2008系統信息查詢常用命令 查看表大小、記錄數等


1、返回所有數據庫信息(數據庫名,創建日期,存儲路徑等)。
1 use master;
2 GO
3 select * from dbo.sysdatabases

2、返回當前數據庫所有對象(可根據type字段過濾出用戶表,索引等)。

1 USE AdventureWorks2008R2;
2 GO
3 SELECT * FROM SYS.objects WHERE TYPE='U'

3、查詢指定庫中所有表信息(記錄數,使用空間等)。

 1 USE AdventureWorks2008R2;
 2 GO
 3 exec sp_MSForEachTable 
 4 @precommand=N'create table ##(
 5 表名 sysname,
 6 記錄數 int,
 7 保留空間 Nvarchar(10),
 8 使用空間 varchar(10),
 9 索引使用空間 varchar(10),
10 未用空間 varchar(10))',
11 @command1=N'insert ## exec sp_spaceused ''?''',
12 @postcommand=N'select * from ## order by 記錄數 '
13 
14 DROP TABLE ##

結果如下:

表名        記錄數      保留空間   使用空間   索引使用空間  未用空間      
----------  ----------- ---------- ---------- ------------ ----------
discounts   3           16 KB      8 KB       8 KB         0 KB
stores     
6           24 KB      8 KB       16 KB        0 KB

 

4、返回指定庫所有表的記錄數(使用系統函數sp_MSforeachtable(Table))。

1 USE AdventureWorks2008R2;
2 go
3 CREATE TABLE #temp (TableName VARCHAR (255), RowCnt INT)
4 EXEC sp_MSforeachtable 'INSERT INTO #temp SELECT ''?'', COUNT(*) FROM ?'
5 SELECT TableName, RowCnt FROM #temp ORDER BY RowCnt
6 
7 DROP TABLE #temp;

 

 全部在SQL Server 2008 R2環境下測試通過。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM