Ich migriere eine alte Datenbank von SQL Server 2005 auf SQL Server 2014. Diese Datenbank verfügt über eine partitionierte Tabelle. Ein geplanter Job verschiebt regelmäßig alte Daten aus der "Online" -Tabelle in die Verlaufstabelle.
Der Job schlägt fehl, wenn ich versuche, die Partition mit dem folgenden Code zu verschieben:
ALTER TABLE Warehouse.TBW_MY_DATA
SWITCH PARTITION 1
TO Warehouse.TBW_MY_DATA_STAGING
Hier ist die Fehlermeldung:
Meldung 4939, Ebene 16, Status 1, Zeile 4 Die Anweisung ALTER TABLE SWITCH ist fehlgeschlagen. Der Index 'MY_DATABASE.Warehouse.TBW_MY_DATA_STAGING.PKW_MY_DATA_STAGING' befindet sich in der Dateigruppe 'FG_EDRN_2009123100085' und die Partition 1 des Index 'MY_DATABASE.Warehouse.TBW_MY_DATA.PKW_MY_DAT'.
Aktueller Screenshot des Fehlers:
MY_DATABASE.Warehouse.TBW_MY_DATA_STAGING.PKW_MY_DATA_STAGING
und MY_DATABASE.Warehouse.TBW_MY_DATA.PKW_MY_DATA
sind die Clustered-Indizes der Primärschlüssel.
Was ich versucht habe:
Um das Problem einzugrenzen, führe ich den Job mit verschiedenen Kompatibilitätsstufen aus.
Der Fehler tritt nur bei Verwendung der Kompatibilitätsstufe 120 (SQL Server 2014) auf. Mit den Kompatibilitätsstufen 100 und 110 (SQL Server 2008 bzw. SQL Server 2012) funktioniert alles einwandfrei. Wahrscheinlich hat sich also etwas an der Partitionsbehandlung von SQL Server 2012 zu SQL Server 2014 geändert.
Ich habe den Artikel über "Effizientes Übertragen von Daten mithilfe der Partitionsumschaltung" in TechNet gelesen , aber es wird nie ein Verfallsdatum / eine Version erwähnt, selbst wenn ich festgestellt habe, dass der Artikel nur für SQL Server 2005 und 2008 verfügbar ist.
Ich habe die Liste der veralteten Funktionen und die Liste der wichtigsten Änderungen in SQL Server 2014 überprüft , aber nichts zum Partitionswechsel gefunden.
quelle