Benutzer mit den meisten Antworten
Moving Table to different File Group

Frage
Antworten
-
Hallo Nicole,
I will answer in German, since I suppose you chose a German Forum on purpose:
das macht man ganz einfach mit einem Neu-Erstellen der Indexe mit Angabe der Zielfilegroup
also zB
CREATE NON/CLUSTERED INDEX NCL_xy ON schema.table ( colums,... ) WITH (DROP_EXISTING=ON) ON ZielFilegroup
In der Enterprise-Edition kann man das Sortieren auch in die Tempdb auslagern.
Tabellen ohne Clustered Index kann man nicht so verschieben. Dann erstellt man einen solchen gleich auf der Zieldateigruppe - und lässt ihn am besten gleich da. Für reine Heaps gibt es seltendst wirklich bessere Gründe als man immer mal wieder liest.
Orchestrierung:
Naja, und das Ganze lässt man sich natürlich am Besten dynamisch als Script erzeugen und führt diesen dann aber nicht komplett auf einmal aus, sondern je nach Datenmenge über Stunden bis Tage verteilt, um den Logbackuops eine Chance zu geben das Log kleinzuhalten.
Das klappt auch bei Terabyte-großen Datenbanken wunderbar kann ich Dir versichern.Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
MCM SQL Server 2008
MVP Data Platform
www.SarpedonQualityLab.com | www.andreas-wolter.com- Als Antwort vorgeschlagen Benjamin.Hoch Mittwoch, 29. Juni 2016 16:09
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 7. Juli 2016 08:39
Alle Antworten
-
Hallo Nicole,
I will answer in German, since I suppose you chose a German Forum on purpose:
das macht man ganz einfach mit einem Neu-Erstellen der Indexe mit Angabe der Zielfilegroup
also zB
CREATE NON/CLUSTERED INDEX NCL_xy ON schema.table ( colums,... ) WITH (DROP_EXISTING=ON) ON ZielFilegroup
In der Enterprise-Edition kann man das Sortieren auch in die Tempdb auslagern.
Tabellen ohne Clustered Index kann man nicht so verschieben. Dann erstellt man einen solchen gleich auf der Zieldateigruppe - und lässt ihn am besten gleich da. Für reine Heaps gibt es seltendst wirklich bessere Gründe als man immer mal wieder liest.
Orchestrierung:
Naja, und das Ganze lässt man sich natürlich am Besten dynamisch als Script erzeugen und führt diesen dann aber nicht komplett auf einmal aus, sondern je nach Datenmenge über Stunden bis Tage verteilt, um den Logbackuops eine Chance zu geben das Log kleinzuhalten.
Das klappt auch bei Terabyte-großen Datenbanken wunderbar kann ich Dir versichern.Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
MCM SQL Server 2008
MVP Data Platform
www.SarpedonQualityLab.com | www.andreas-wolter.com- Als Antwort vorgeschlagen Benjamin.Hoch Mittwoch, 29. Juni 2016 16:09
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 7. Juli 2016 08:39
-
Hallo Andreas,
das mit dem Umzug der Tabellen in eine andere Filegroup hat prima funktioniert. Hast du evtl. noch einen Tipp, wie ich eine Menge von Tabellen, die partitioniert sind in eine neue Dateigruppe (switch out / in) verschieben kann?
Was ist der beste Weg, dies zu tun? Jede Tabelle hat Tagespartitionen für 2 Jahre.PseudoCode. Foreach Day ... verschieben Partition alt zu Partition in Dateigruppe neu
The Function: CREATE PARTITION FUNCTION [pf_2YearDays] (datetime) AS RANGE RIGHT FOR VALUES (N'2016-05-23T00: 00: 00.000 ', N'2016-05-24T00: 00: 00.000' ...
Best Regards
Nicole -
Hallo Nicole
ich bin nicht sicher, ob ich die Frage jetzt ad hoc verstehe.
Prinzipiell würde ich die Partitionen durchus mal Mergen
die Aktion für mehrere Tabellen würde man am Besten mithilfe von dynamischem SQL vorbereiten, testen und dann eben ablaufen lassen.. Dann kann man das leicht wiederholt testen.
Wenn das die Frage war. Ansonsten, für ein Gesamtkonzept müsste ich wesentlich mehr wissen. Aber das wäre ehetwas zu viel für mich mal eben hier nebenbei zu beantworten.. :-/
viel Erfolg
Andreas
Andreas Wolter (Blog | Twitter)
MCSM: Microsoft Certified Solutions Master Data Platform/SQL Server 2012
MCM SQL Server 2008
MVP Data Platform
www.SarpedonQualityLab.com | www.andreas-wolter.com