Statistik anzeigen

10/03/2010 - 14:02 von Joachim Hofmann | Report spam
Hallo,

ich möchte mir gerne auf einen Schlag Informationen zu allen Statistiken einer bestimmten Tabelle
anzeigen lassen, insbesondere, über welche Spalte die Statistik geht, so wie in sp_helpindex .
Mit welcher Sicht / Abfrage könnte ich so was tun?

Danke

Joachim
 

Lesen sie die antworten

#1 Christoph Ingenhaag
10/03/2010 - 15:22 | Warnen spam
"Joachim Hofmann" schrieb im Newsbeitrag
news:
Hallo,

ich möchte mir gerne auf einen Schlag Informationen zu allen Statistiken
einer bestimmten Tabelle anzeigen lassen, insbesondere, über welche Spalte
die Statistik geht, so wie in sp_helpindex .
Mit welcher Sicht / Abfrage könnte ich so was tun?

Danke

Joachim



Hallo Joachim,

ich wüßte keine, aber du kannst dieses Skript für deine Bedürfnisse
anpassen:

begin try drop table #stats end try begin catch end catch

select
object_name(s.object_id) as Tabelle,
s.name as Statistik,
c.name as Spalte,
s.auto_created,
s.user_created,
s.no_recompute,
'DBCC SHOW_STATISTICS (''' +
object_name(s.object_id) +
''', ''' + s.name + ''')' as dbcccommand
into #stats
from sys.stats s
inner join sys.stats_columns sc
on
s.object_id = sc.object_id and
s.stats_id = sc.stats_id
inner join sys.columns c
on
sc.object_id = c.object_id and
sc.column_id = c.column_id
where
s.object_id = object_id('dbo.test')

select
Tabelle,
Statistik,
Spalte,
auto_created,
user_created,
no_recompute
from #stats

declare @dbcccommand varchar(max)

declare C cursor local fast_forward for
select dbcccommand
from #stats

open C
fetch next from C into @dbcccommand

while @@fetch_status = 0
begin

exec(@dbcccommand )

fetch next from C into @dbcccommand

end

close C
deallocate C


Viele Grüße
Christoph

Ähnliche fragen