Jump to content

TSQL Verschieben von Partitionen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen!

 

Ich bereite mich zur Zeit auf die 70-433 vor und habe einige Übungsfragen. Hier ist eine, deren vorgegebene Antwort mir nicht gefällt. Also, falls jemand sich mit Partitionen im SQL Server auskennt, dann wäre ich froh wenn man mir hilft diese Antwort zu verstehen. Hier die Aufgabe:

 

Es gibt zwei partitionierte Tabellen namens Orders und OrderHistory.

Eine Partition der Tabelle Orders soll in der Tabelle OrderHistory archiviert werden.

Welche Methode soll benutzt werden?

1) alter table ... switch ...

2) alter partition function ... merge ...

3) insert ... select ...; truncate table ...

4) alter partition function ... split

 

 

Die Informationen sind natürlich spärlich (keine Tabellendefinition, wie wurde partitioniert usw.).

Spontan würde ich auf Antwort 1 tippen, aber 3) soll wohl richtig sein. Verstehe ich nicht so ganz.

Lösung 1 wäre nach meinem Wissensstand doch genau richtig. 2 und 4 fallen weg.

 

Welche wäre nun richtig? 1) oder 3) ??

 

Gruß,

kalium

Link zu diesem Kommentar

Hi,

 

also so wie ich das sehe, ist die Antwort 1) korrekt, wenngleich mehr Informationen gegeben sein müssten, da es für den Fall einige Einschränkungen gibt, die man beachten muss.

 

Allerdings kann 3) nicht korrekt sein.

Der Truncate-Table löscht ALLE Daten aus der Tabelle und es ist nur die Rede die Daten einer Partition zu löschen.

 

Ja, und wie du richtig erkannt hast, 2) und 4) sind hier gänzlich ungeeignet.

 

Viele Grüße!

Link zu diesem Kommentar

Hallo Callium

 

Für mich ist hier auch die Antwort 3 richtig. Dies auf Grund des folgenden Artikels:

 

ALTER TABLE (Transact-SQL)

 

Dort steht:

SWITCH [ PARTITION source_partition_number_expression ] TO [ schema_name. ] target_table [ PARTITION target_ partition_number_expression ]

 

-Switches a block of data in one of the following ways:

-Reassigns all data of a table as a partition to an already-existing partitioned table.

-Switches a partition from one partitioned table to another.

-Reassigns all data in one partition of a partitioned table to an existing non-partitioned table.

 

Meiner meinung nach deckt sich das genau mit der von Dir beschriebenen Aufgabe.

 

Ich bereite mich zur Zeit auf die 70-433 vor und habe einige Übungsfragen

 

Je nach Art und Herkunft deiner "Übungsfragen" sind die Antworten nicht immer richtig!

 

Gruss Greg

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...