Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MSSQL quenquery

Frage Entwicklung Datenbanken

Mitglied: petere

petere (Level 1) - Jetzt verbinden

12.11.2014 um 07:41 Uhr, 840 Aufrufe, 6 Kommentare

Hallo,

ich stoße leider an die Grenzen meiner MSSQL-Kenntnisse. Ich muss diesen, eigentlich einfachen, UPDATE-Ausdruck via zwei Verbindungsserver-Verbindungen realisieren.

UPDATE lokal INNER JOIN shop ON lokal.Artikel = shop.ANR SET shop.IstESBs = lokal.IstESB

OPENQUERY(connLOKAL, 'select IstESB from lokal')
OPENQUERY(connSHOP, 'select IstESBs from shop')


Vielen Dank für eine zielführende Antwort
Peter
Mitglied: MadMax
12.11.2014 um 13:20 Uhr
Hallo Peter,

das müßte etwa so lauten:
01.
with	lokal as (select * from OPENQUERY(connLOKAL, 'select Artikel, IstESB from lokal')), 
02.
	shop as (select * from OPENQUERY(connSHOP, 'select ANR, IstESBs from shop')) 
03.
update	shop 
04.
set	IstESBs = lokal.IstESB 
05.
from	shop join lokal on lokal.Artikel = shop.ANR

Gruß, Mad Max
Bitte warten ..
Mitglied: petere
30.11.2014, aktualisiert um 19:07 Uhr
Hallo Max,

danke, das Script selbst wird ohne Fehler gestartet. Leider warte ich zum Übertragen der 100.000 Zeilen ewig, obwohl die übertragene Datenmenge sehr gering ist (keine 30 Zeichen je Zeile).

Führe ich die lokale Abfrage allein aus, dauert es 2 Sekunden, daran kann es also nicht liegen. Die beiden Server sind über eine 5 Mbit-Leitung synchron verbunden.
Es kommt keine Fehlermeldung.


Grüße, Peter
Bitte warten ..
Mitglied: MadMax
01.12.2014 um 01:35 Uhr
Hallo Peter,

die lokale Abfrage? Heißt das, connLOKAL ist der SQL Server, auf dem die Abfrage läuft?
Sag mir doch mal bitte, was connLOKAL und connSHOP für RDBMS sind, womöglich ist die Lösung für Dein Problem sogar ganz einfach.

Gruß, Mad Max
Bitte warten ..
Mitglied: petere
01.12.2014 um 20:09 Uhr
Hallo Max,

connLOKAL = mySQL 5.6
connSHOP = MSSQL 2005

der ausführende Server, auf dem die Abfrage ausgeführt wird, ist auch ein MSSQL 2005.

Andere Idee/Frage: wenn ich ein MSSQL-Export-Script durchführe, was den Export macht, dauert das 3 Sekunden. Könnte ich dieses Script irgendwie auslesen und per Abfrage ausführen?

Grüße, Peter
Bitte warten ..
Mitglied: MadMax
LÖSUNG 02.12.2014, aktualisiert um 18:44 Uhr
Hallo Peter,

gut, daß die zu aktualisierende Datenbank auch ein SQL Server ist, dann geht es nämlich einfacher und vermutlich auch schneller:
01.
update	connSHOP.<Datenbank>.<Schema>.shop  
02.
set	IstESBs = l.IstESB 
03.
from	connSHOP.<Datenbank>.<Schema>.shop s 
04.
	join OPENQUERY (connLOKAL, 'select Artikel, IstESB from lokal') l on l.Artikel = s.ANR
Bei <Datenbank> und <Schema> mußt Du nur noch die richtigen Werte eintragen.

Noch besser wäre es, den Verbindungsserver connLOKAL auch auf dem SQL Server mit der Tabelle "Shop" einzurichten und dann die Abfrage dort laufen zu lassen:
01.
update	<Datenbank>.<Schema>.shop  
02.
set	IstESBs = l.IstESB 
03.
from	<Datenbank>.<Schema>.shop s 
04.
	join OPENQUERY (connLOKAL, 'select Artikel, IstESB from lokal') l on l.Artikel = s.ANR
Wenn das direkt in der richtigen Datenbank und im richtigen Schema läuft, dann kannst Du Dir <Datenbank>.<Schema>. auch schenken.

Zu Deiner anderen Frage: grundsätzlich ja. Für Massenimporte und -exporte gibt es das Dienstprogramm bcp, ansonsten gibt es noch sqlcmd, das ist praktisch der Query Analyzer für die Kommandozeile. Wenn die Frage auf obige Problematik abzielt, dann müßtest Du aber erst mal aus MySQL exportieren und in MSSQL importieren.

Gruß, Mad Max
Bitte warten ..
Mitglied: petere
02.12.2014 um 18:44 Uhr
Vielen Dank Max. Hat mir sehr geholfen.
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MSSQL Datenkonvertierung 1 Zeile auf mehrere Zeilen - bitte um Tips (4)

Frage von highmoe zum Thema Datenbanken ...

Microsoft
gelöst Fehler beim Ausführen eines MSSQL-Triggers mit EXECUTE AS User (1)

Frage von Mesaou zum Thema Microsoft ...

Datenbanken
MSSQL Management Studio Generiere Skript automatisieren (2)

Frage von lordzwieback zum Thema Datenbanken ...

Windows Server
Upgrade von MSSQL Server 2008 R2 auf MSSQL Server 2012 schlägt fehl (4)

Frage von Argoadmin zum Thema Windows Server ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...