Announcement

Collapse
No announcement yet.

Tabelle in andere Filegroup verschieben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabelle in andere Filegroup verschieben

    Guten Morgen!

    Ich möchte gerne eine Tabelle von FileGroup A nach FileGroup B verschieben. Leider ist mir der genaue Syntax nicht bekannt.

    Kann mir da jemand helfen?

    Danke und Grüße
    Sascha

  • #2
    Hallo Sascha,

    wenn ich mich nicht verlesen habe, kann man nicht per ALTER TABLE in eine andere Gruppe "verschieben", sondern man kann die Filegroup nur bei der Anlage angeben.

    Wenn Du über das Management Studio die Filegroup änders und Dir das Änderungsscript generieren lässt, kommt folgendes bei raus:

    [highlight=SQL]
    CREATE TABLE dbo.Tmp_Dummy
    (
    ID int NOT NULL IDENTITY (1, 1),
    myText nchar(50) NULL
    ) ON FileGroupB
    GO
    SET IDENTITY_INSERT dbo.Tmp_Dummy ON
    GO
    IF EXISTS(SELECT * FROM dbo.[Dummy])
    EXEC('INSERT INTO dbo.Tmp_Dummy (ID, myText)
    SELECT ID, myText FROM dbo.[Dummy] WITH (HOLDLOCK TABLOCKX)')
    GO
    SET IDENTITY_INSERT dbo.Tmp_Dummy OFF
    GO
    DROP TABLE dbo.[Dummy]
    GO
    EXECUTE sp_rename N'dbo.Tmp_Dummy', N'Dummy', 'OBJECT'
    GO
    COMMIT
    [/highlight]

    Also Tabelle neu in der anderen Filegroup anlegen, Daten rüberkopieren, alte Tabelle löschen und neue umbenennen.
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo Olaf,

      ich habe leider auch keine andere Lösung gefunden. Offenbar ist das in MS SQL der einzig gangbare Weg!

      Vielen Dank für deine Antwort!

      Grüße
      Sascha

      Comment

      Working...
      X