Forums Neueste Beiträge
 

Fragmentation der Tabellen bei mehreren Datenbankdateien

20/04/2009 - 16:54 von Klaus Last | Report spam
Hallo zusammen,

wir haben eine SQL-Datenbank mit etwa 100 GB. Diese ist verteilt auf 2
Datenbankdateien. Es sind vor kurzem 10 GB auf einen Schlag hinzugekommen.
Jetzt ist die Performance der Datenbank etwas schlechter geworden.

Teilweise kommt es vom hohen Datenvolumen in einigen Tabellen (10 GB).
Wir vermuten aber auch eine evtl. Fragmentierung der Tabellen zwischen den
Datendateien. Wie kann ich für bestimmte Tabellen herausbekommen in welcher
Datendatei sie liegen und wie stark eine Datendatei innerhalb von SQL-Server
fragmentiert ist?
Die Datendateien haben eine feste Größe, sind also nicht per
NTFS-Dateisystem Fragmentiert.

Danke schon mal im vorraus

Klaus
 

Lesen sie die antworten

#1 Torsten Schuessler
20/04/2009 - 17:48 | Warnen spam
Hallo Klaus,

filegroup u. table:
SELECT

fg.data_space_id, fg.name,

ObjectName = OBJECT_NAME(p.object_id), p.index_id

,df.name, df.physical_name, [Size] = df.size*8/1024

FROM sys.filegroups fg

LEFT JOIN sys.database_files df

ON fg.data_space_id = df.data_space_id

LEFT JOIN sys.partitions p

ON fg.data_space_id = p.partition_number

WHERE (p.object_id>4096 or p.object_id IS NULL)


Ich wünsche Dir einen schönen Tag,

CU
tosc
http://www.insidesql.org
http://www.insidesql.org/blogs/tosc
"Klaus Last" schrieb im Newsbeitrag
news:
Hallo Torsten,

ja, ich meine 2 Datendateien. Die Logdatei ist nur in einem File und damit
haben wir keine Probleme.

Version: SQL 2005 auf Server 2003.
Als Wartungsplan gibts nur einen der die Idices aufràumt, die Integritàt
prüft und die Statistiken aktualisiert. Natürlich eine tàgliche
Vollsicherung
und Stündliche Transkaktionsprotokollsicherungen.

Gruß Klaus
"Torsten Schuessler" wrote:

Hallo Klaus,

Du meinst 2 Datendateien = 1x *.mdf und 1x *.ndf - nicht mdf und ldf?
Welche SQL-Server Version setzt Du ein?
Wartungsplàne?
Jobs?
?

Ich wünsche Dir einen schönen Tag,

CU
tosc
http://www.insidesql.org
http://www.insidesql.org/blogs/tosc
"Klaus Last" schrieb im Newsbeitrag
news:
> Hallo zusammen,
>
> wir haben eine SQL-Datenbank mit etwa 100 GB. Diese ist verteilt auf 2
> Datenbankdateien. Es sind vor kurzem 10 GB auf einen Schlag
> hinzugekommen.
> Jetzt ist die Performance der Datenbank etwas schlechter geworden.
>
> Teilweise kommt es vom hohen Datenvolumen in einigen Tabellen (10 GB).
> Wir vermuten aber auch eine evtl. Fragmentierung der Tabellen zwischen
> den
> Datendateien. Wie kann ich für bestimmte Tabellen herausbekommen in
> welcher
> Datendatei sie liegen und wie stark eine Datendatei innerhalb von
> SQL-Server
> fragmentiert ist?
> Die Datendateien haben eine feste Größe, sind also nicht per
> NTFS-Dateisystem Fragmentiert.
>
> Danke schon mal im vorraus
>
> Klaus
>
>


Ähnliche fragen