Announcement

Collapse
No announcement yet.

Probleme beim erstellen einer Tabell aus einer View

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

  • Probleme beim erstellen einer Tabell aus einer View

    Hi liebe SQLer,

    ich habe heute versucht aus einer View eine Tabelle zu erstellen über den Befehl

    CREATE TABLE _tblmytable AS SELECT * FROM _mytrial.

    Ich bekomme aber die Fehlermeldung:
    Meldung 156, Ebene 15, Status 1, Zeile 1
    Falsche Syntax in der Nähe des 'AS'-Schlüsselworts.


    Ich verwende SQL Server 2008 und die Tabelle _tblmytable existiert noch nicht. Wo ist den da der Fehler od. wie macht man das am besten?

  • #2
    Originally posted by g_r View Post
    Hi liebe SQLer,

    ich habe heute versucht aus einer View eine Tabelle zu erstellen über den Befehl

    CREATE TABLE _tblmytable AS SELECT * FROM _mytrial.

    Ich bekomme aber die Fehlermeldung:
    Meldung 156, Ebene 15, Status 1, Zeile 1
    Falsche Syntax in der Nähe des 'AS'-Schlüsselworts.


    Ich verwende SQL Server 2008 und die Tabelle _tblmytable existiert noch nicht. Wo ist den da der Fehler od. wie macht man das am besten?
    macht man so
    [HIGHLIGHT="SQL"]BEGIN TRAN;

    Select *
    INTO Test
    FROM sys.objects;

    Select * from Test;

    ROLLBACK;[/HIGHLIGHT]

    Comment


    • #3
      Danke für die schnelle Antwort! Scheint eigentlich funktioniert zu haben.

      Ich bekomme aber nun die Fehlermeldung:

      (75 Zeile(n) betroffen)
      Fehler beim Ausführen des Batches. Fehlermeldung: Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.


      ...ich weiß is ne riesen Datenbank... Gibt es aber vielleicht Möglichkeiten diese riesen VIEW in eine TABELLE gestopft zu bekommen?

      Comment


      • #4
        System.OutOfMemoryException
        Das will mir rein gar nicht nach einer Fehlermeldung des MS SQL Servers klingen.

        Womit/Wo führst Du das Statement aus?
        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


        • #5
          Nun ja das Statement führe ich über
          BEGIN TRAN;
          SELECT *
          INTO Test
          FROM sys.objects;
          SELECT * FROM Test;
          ROLLBACK;
          aus. Ich konnte über den Tast-Manager zusehen, wie mein Arbeitsspeicher vollläuft (4GB). Danach bin ich sofort in einen Laden gerannt und habe weitere 4GB Arbeitsspeicher gekauft.
          Jetzt läuft mein Arbeitsspeicher bis 4.5 GB voll und dann kommt die Fehlermeldung:
          (75 Zeile(n) betroffen)
          Fehler beim Ausführen des Batches. Fehlermeldung: Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.

          Kann es sein, dass ich den Arbeitsspeicher in SQL Server 2008 erstnoch freigemen muss?

          Viele Grüße und danke im voraus!
          Attached Files

          Comment


          • #6
            Da werden ganze 75 Zeile aus sys.objects kopiert, das kommt auf ca. 434 Bytes * 75 = 3.038 Bytes; das sollte hinreichen weit weg von 4 GB sein, um Speicherprobleme zu verursachen.

            Und es ist nicht wirklich eine Fehlermeldung vom SQL Server selbst, sondern eher von der Client-Anwendung, die da ein Problem hat.

            Wer frisst den den Speicher, ist das der SqlServer.exe Dienst? Wenn ja, hast Du da eine 64 Bit Maschine?

            Und lass mal BEGIN TRAN / ROLLBACK weg.
            Lass es stattdessen in eine temporäre Tabelle (#Test) schreiben oder mach zum Schluss ein DROP TABLE Test; wenn Du das Ergebnis nicht behalten willst.
            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


            • #7
              Wobei:
              http://social.msdn.microsoft.com/For...b-4ed78163ed38

              Der Sql Server kann scheinbar doch solche Fehler werfen.
              Aktuelles Service Pack installiert?
              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


              • #8
                Getestet mit MS SQL Server 2008 Express Edition, Version 10.0.1600.22 (ohne SP):
                Geht und zuckt dabei nicht mal (wieso auch)!

                75 Zeilen, das kommt bei der master-Datenbank raus.
                An der Größe Deiner DB liegt es somit nicht.
                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


                • #9
                  Danke für die vielen Tips,..ich werds gleich mal probieren

                  Comment


                  • #10
                    Ohh man, jetzt steht in meiner Datenbank irgendwas von Fehlverdächtig

                    Was ist das denn jetzt?

                    PS.: Läuft alles unter WinVista 64 bit

                    Comment


                    • #11
                      Habe deshalb auch Deine Tipps noch nicht ausprobieren können.

                      Comment


                      • #12
                        Was ist das denn jetzt?
                        Keine Ahnung, ich kenne ja nicht die Meldung (sitzte ja nicht neben Dir).
                        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


                        • #13
                          sorry.......

                          Ich hatte ja mein RAM erweitert....dann hatte ich plötzlich neben meiner Datenbank einen Meldung von wegen (Fehlerverdächtig) und ein gelbes Warndreieck war auch zu sehen (auf die Datenbank konnte ich nicht zugreifen). Mein Vista ist ständig abgestürzt usw...Hab jetzt die alten Bausteine wieder eingesetzt (also insgesamt 4Gb Ram ) und nun ist Vista wieder stabil und auf meine Datenbank kann ich auch zugreifen!!!

                          UND JETZT...JETZT..geh ich endlich deinem Tipp nach!!

                          Geb dir aber dann auch wieder bescheid!!!! 1000000000*dank

                          Comment


                          • #14
                            Ok habe die Zeilen weggelassen und beim zweiten durchgang zusätzlich auch eine "#" vor Test gesetzt. Leider hat das auch nicht geholfen.

                            Gibt es denn weitere Möglichkeiten?

                            Comment


                            • #15
                              Hurra..für mein Problem benötigte ich genau die Zeile:

                              SELECT * INTO [myDB].[dbo].[_myTable] FROM [myDB].[dbo].[_myView]

                              haha....4GB reichten aus für einen 3.5GB große Datenbank UND....

                              ...UND.....es hat nur 7min 25 sec gedauert!!!! Ein Traum! +

                              Trotzdem danke für die Hilfe

                              Comment

                              Working...
                              X