Adatbázisok méretének lekérdezése
Az alábbi lekérdezés segít megnézni, hogy mely adatbázisok, mennyi helyet foglalnak.
1USE [tempdb]
2
3CREATE TABLE #DatabaseSize
4(
5 [database_name] sysname,
6 [type_desc] nvarchar(50),
7 [state_desc] nvarchar(50),
8 [size_in_MB] bigint
9);
10
11EXEC sp_MsForEachDb
12'USE [?]
13
14INSERT INTO #DatabaseSize
15SELECT
16 DB_NAME(),
17 type_desc,
18 state_desc,
19 SUM(size * 8 / 1024)
20FROM
21 sys.database_files
22GROUP BY
23 type_desc,
24 state_desc
25'
26
27SELECT * FROM #DatabaseSize ORDER BY [size_in_MB] DESC
28
29--cleanup
30DROP TABLE #DatabaseSize
Update: 2012.03.08: van egy sokkal jobb megoldás, ami csak dokumentált funkciókat használ:
1SELECT
2 DB_NAME([database_id]) AS [DatabaseName],
3 type_desc,
4 state_desc,
5 SUM(size * 8 / 1024) AS [SizeInMB]
6FROM
7 sys.master_files
8GROUP BY
9 [database_id],
10 type_desc,
11 state_desc
12ORDER BY 4 DESC