Hallo zusammen,
ich suche nach der richtigen Strategie, Abfragen auf per ODBC mit einem SQL-Server (Azure) verknüpfte Tabellen in einer vernünftigen Zeit durchführen zu können.
Beispiel:
Ein einfaches Update, das 7 Felder in einer Tabelle einfach nur auf NULL setzen soll (keine Kriterien, keine Joins, nichts) dauert 45 MINUTEN... lokal eine Sache von Sekunden.
Was ist generell die richtige Vorgehensweise, müssen es Updates auf dem Server direkt sein? Was deshalb schade wäre, weil ich gerne mit Makros in Access arbeite.
Gruss
Frank
			
			
			
				Zitat von: FrankiLi am Mai 18, 2017, 08:22:07Ein einfaches Update, das 7 Felder in einer Tabelle einfach nur auf NULL setzen soll (keine Kriterien, keine Joins, nichts) dauert 45 MINUTEN... 
Poste doch mal den relevanten Code für dein Beispiel. Ohne diesen zu sehen kann man dazu wenig sagen, ausser dass es ziemlich abnormal ist, dass ein einfaches Update 45 Minuten dauert.
Zitat von: FrankiLi am Mai 18, 2017, 08:22:07Was ist generell die richtige Vorgehensweise, müssen es Updates auf dem Server direkt sein? Was deshalb schade wäre, weil ich gerne mit Makros in Access arbeite.
Ein wesentlicher Punkt für gute Performance mit einem SQL-Server-Backend, umso mehr wenn dieses auf Azure liegt, ist es, datenintensive Operationen möglichst komplett auf den Server zu verlagern.
Das heißt nicht unbedingt, dass du nicht mehr mit Makros (meinst du wirklich Makros, oder VBA?) arbeiten kannst/sollst, aber du solltest immer versuchen, den Datenverkehr zwischen Client und Server auf das Minimum zu reduzieren.
			
 
			
			
				Hallo FrankiLi,
Abfragen mit SQL Backend sind nicht ganz so einfach umzusetzen. Wenn die Abfrage lokal in Access ausgeführt wird (z.B. via ODBC verknüpften Tabellen), werden meist die Daten aller an der Abfrage beteiligten Tabellen vom Server geladen. Und das kann je nach Anzahl und Umfang ewig dauern.
Besser ist es, die Abfrage direkt via ADO auf dem Server ausführen zu lassen. Dazu kommst Du aber an VBA nicht vorbei. Auch eine programmierte Prozedur auf dem SQL Server arbeitet augenblicklich. Poste doch mal den Inhalt der SQL Ansicht Deiner Aktualisierungsabfrage.