Frage

Ich bin eine große Menge an meist leeren Tabellen in SQL Server 2008 zu migrieren.

Die Tische sind vertikale Partitionen einer großen logischen Tabelle.

Das Problem ist diese logische Tabelle mehr als 1024 Spalten hat.

Da die meisten Felder null sind, plane ich eine spärliche Tabelle zu verwenden.

Für alle meine Tabellen bisher habe ich wurde mit SELECT ... INTO, die wirklich gut gearbeitet hat.

Aber jetzt habe ich "TABLE gescheitert CREATE weil Spalte 'xyz' in der Tabelle 'MyBigTable' die maximal 1024 Spalten überschreitet."

Gibt es eine Möglichkeit, SELECT tun kann ... INTO so, dass sie die neue Tabelle mit spärlicher Unterstützung schafft?

War es hilfreich?

Lösung

Was möchten Sie wahrscheinlich zu tun ist, um die Tabelle manuell erstellen und es mit einer INSERT ... SELECT Anweisung füllen.

Um die Tabelle zu erstellen, würde ich scripting die verschiedenen Komponenten Tabellen empfehlen und die Definitionen Verschmelzung sie all SPARSE wie nötig zu machen. Dann einfach Ihre einzige CREATE TABLE Anweisung ausführen.

Andere Tipps

Sie können nicht (und wahrscheinlich nicht wollen sowieso). Siehe INTO-Klausel (TSQL) für die MSDN-Dokumentation.

Das Problem ist, dass spärlich Tabellen eine physikalische Speichercharakteristik sind und kein logisches Merkmal, so dass es keine Möglichkeit gibt, die DBMS-Engine kopieren über wissen würde, dass charakteristisch. Darüber hinaus ist es eine Tabelle weite Eigenschaft und die SELECT mehr zugrunde liegende Quelltabellen haben. Siehe die Erläuterungen Abschnitt der Seite I verknüpft, wo es wird erläutert, wie Sie nur Standardorganisation Details verwenden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top