Announcement

Collapse
No announcement yet.

Externer SQL-Server

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

  • Externer SQL-Server

    Hallo,

    ich habe - wahrscheinlich ein Anfängerproblem - denn ich möchte mir gerne im Management Studio ein SQL-Script basteln welches mit select ... into Daten aus Tabellen meiner SQL-Server-DB in eine Datenbank einfügt, die auf einem externen SQL-Server liegt.

    Also ungefähr so:

    SELECT ... INTO [Externer Server.Extrerne DB.Externe Tabelle] FROM MeineDB.dbo.MeineTabelle

    Hat jemand einen Tip, oder vielleicht die Syntax für mich ?

    Danke im Voraus

    Jürgen

  • #2
    Soll das eine einmalige Aktion bleiben oder permanent synchronisierte gehalten werden?

    Comment


    • #3
      Das soll schon permanent möglich sein mit diversen SQL-Statements, die ich aber derzeit nicht benennen kann.

      Comment


      • #4
        Dann würde ich evtl. eher unter den Stichwort "Replikation" in der Onlinehilfe des MS SQL Servers suchen.

        Comment


        • #5
          hallo,
          dbo. hätte ich noch hinzugefügt....
          SELECT ... INTO [Externer Server.Extrerne DB.dbo.Externe Tabelle] FROM MeineDB.dbo.MeineTabelle

          Ich würde mal sagen dass der Benutzer unter dem du das SQL-Statement ausführst auf beiden Servern vorhanden sein muss.

          http://www.w3schools.com/Sql/sql_select_into.asp

          Comment


          • #6
            Ich möchte aber eigntlich nichts replizieren.
            Ich such nur nach einer Möglichkeit mit Select etc. aus meiner Umgebung heraus auf einen externen Server zuzugreifen.

            Comment


            • #7
              aja Verbindungsserver wäre evtl. noch eine Möglichkeit, wobei ich da aber nur sicher sagen kann dass Lesezugriff möglich ist.

              Comment


              • #8
                Bitte aber richtig eckig klammern, sonst klappt es nicht

                SELECT ... INTO [Externer Server].[Extrerne DB].dbo.[Externe Tabelle]
                FROM MeineDB.dbo.MeineTabelle

                Vollqualifizierter Bezeichner
                =
                Server.Datenbank.Schema.Tabelle
                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
                  Vielen Dank !
                  Das Stichwort lautet VERBINDUNGSSERVER.
                  Hier kann man dann den Externen Server per IP eintragen und zusätzlich lokale Benutzer Remote Benutzern zuordnen.

                  Danach kann man dann beispielsweise mit

                  select * from [VERBINMDUNGSSERVER].datenbank.dbo.tabelle

                  Daten abrufen.
                  (Ich denke Insert etc. funktioniert dann analog)

                  Nochmals besten Dank für Eure Hilfe.

                  Comment


                  • #10
                    Ein wichtiger Punkt dazu: Für verteilte Transaktionen muss auf beiden beteiligten Server der MSDTC = "Microsoft Distributed Transaction Coordinator" konfiguriert sein, sonst gehen nur SELECTs.

                    Siehe z.B.:
                    http://msdn.microsoft.com/de-de/library/ms190799.aspx
                    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


                    • #11
                      O. Helper was hast du eigentlich auswendig gelernt? msdn, Online Hilfe, Bücher oder doch sämtliches Netzwissen zum Thema MSSQL? ;-)

                      Comment


                      • #12
                        Danke für den Hinweis.
                        Gibt es eine "einfache" möglichkeit MSDTC zu konfigurieren ?

                        Comment


                        • #13
                          Noch eine Frage:

                          nun funktionieren select, update, insert into fehlerfrei.
                          Allerding beim Versuch Daten aus der lokalen DB auf den Verbindungsserver zu stellen
                          Bsp.: select * into Verbindungsserver.datenbank.dbo.tabelle from localdb.dbo.tabelle kommt die Fehlermeldung: Der Objekt-Name 'Verbindungsserver.datenbank.dbo.tabelle' enthält mehr Präfixe als zulässig. Maximal sind 2 Präfixe zulässig.

                          Comment


                          • #14
                            MS DTC seihe z.B.
                            http://support.microsoft.com/kb/817064
                            Eigentlich muss man nur "alle Häkchen setzen"


                            select * into Verbindungsserver.datenbank.dbo.tabelle ???

                            Also gibt es die Tabelle noch gar nicht und Du willst sie mit dem Statement anlegen?
                            Ob das überhaupt geht und wenn, ob es gut geht, weiss ich nicht.

                            Leg die Tabelle besser vorher von Hand an und dann mit
                            INSERT INTO Verbindungsserver.datenbank.dbo.tabelle
                            SELECT *
                            FROM ...
                            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


                            • #15
                              @O.Helper

                              Besten Dank,

                              wenn ich die Tabelle zuvor anlege, funktioniert das "Updaten" so wie Du beschrieben hast.

                              Comment

                              Working...
                              X