Advertisement
tei219

alltable spaceused

Sep 14th, 2011
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.94 KB | None | 0 0
  1. create table ##check_alldatabase_sp_spaceused (
  2.     dbname nvarchar(128),
  3.     [name] nvarchar(128),
  4.     [rows] char(11),
  5.     reserved_inKB varchar(18),
  6.     data_inKB varchar(18),
  7.     index_size_inKB varchar(18),
  8.     unused_inKB varchar(18)
  9. )
  10.  
  11. if (CONVERT(varbinary,@@microsoftversion) > 0x09000000)
  12. begin
  13. exec sp_MSforeachdb @replacechar = '*', @command1 = '
  14. use [*]
  15. if ''*'' not in (''tempdb'')
  16. begin
  17.     create table ##result (
  18.         [name] nvarchar(128),
  19.         [rows] char(11),
  20.         reserved varchar(18),
  21.         data varchar(18),
  22.         index_size varchar(18),
  23.         unused varchar(18)
  24.     )
  25.     exec sp_MSforeachtable @command1 = ''insert ##result exec sp_spaceused [?]''
  26.     insert into ##check_alldatabase_sp_spaceused
  27.     select
  28.         db_name(),
  29.         [name],
  30.         [rows],
  31.         replace(reserved,'' KB'',''''),
  32.         replace(data,'' KB'',''''),
  33.         replace(index_size,'' KB'',''''),
  34.         replace(unused,'' KB'','''')
  35.     from
  36.         ##result
  37.     drop table ##result
  38. end
  39. '
  40. end
  41. else
  42. begin
  43.     declare @@name varchar(128)
  44.     declare @@cmd varchar(2000)
  45.     declare cur cursor forward_only for select name from master.dbo.sysdatabases with(nolock)
  46.     open cur
  47.     fetch next from cur into @@name
  48.     while @@fetch_status = 0
  49.     begin
  50.         if @@name not in ('tempdb')
  51.         begin
  52.         set @@cmd = 'use ['+@@name+']
  53.         create table ##result (
  54.             [name] nvarchar(128),
  55.             [rows] char(11),
  56.             reserved varchar(18),
  57.             data varchar(18),
  58.             index_size varchar(18),
  59.             unused varchar(18)
  60.         )
  61.         exec sp_MSforeachtable @command1 = ''insert ##result exec sp_spaceused [?]''
  62.         insert into ##check_alldatabase_sp_spaceused
  63.         select
  64.             db_name(),
  65.             [name],
  66.             [rows],
  67.             replace(reserved,'' KB'',''''),
  68.             replace(data,'' KB'',''''),
  69.             replace(index_size,'' KB'',''''),
  70.             replace(unused,'' KB'','''')
  71.         from
  72.             ##result
  73.         drop table ##result
  74.         '
  75.         exec (@@cmd)
  76.         end
  77.         fetch next from cur into @@name
  78.     end
  79.     close cur
  80.     deallocate cur
  81. end
  82.  
  83. select * from ##check_alldatabase_sp_spaceused
  84.  
  85. drop table ##check_alldatabase_sp_spaceused
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement