[Gelöst]SQL Datensicherung in C/Side einlesen und schnelles

8. Juli 2009 17:49

Hallo Leute,

wir haben NAV 4 unter SQL im Einsatz. Nun möchte mache ich über NAV ab und zu eine Datensicherung, die ich dann in meinem Notebook in einer C/SIDE Version wieder importiere, damit ich offline daran arbeiten kann.

Die Performance ist unter aller S..

Ich habe noch nicht raus gefunden wann es langsam ist. Auf jedenfall, wenn bestimmte Tabellen angezeigt werden sollen.

In der SQL Version - ein Klick und man sieht alles und in der C/SIDE dauert es manchmal ein paar Minuten.

Das ist doch bestimmt nur eine Konfigurationsfrage.

Weiss einer von euch was ich da machen kann?

Lieben Dank.

Gruß

Schureck
Zuletzt geändert von Schureck am 14. Juli 2009 19:00, insgesamt 1-mal geändert.

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

8. Juli 2009 20:32

Das liegt wahrscheinlich daran, dass euer SQL-Server eine bessere CPU, mehr RAM sowie schnellere Festplatten hat als dein Notebook.
Darüber hinaus gibt es ja auch den Cache, welcher sich erstmal mit Daten füllen muss.
Euer Server läuft wahrscheinlich rund um die Uhr, wohingegen du dein Notebook täglich neu startest.
Ergo muss sich nach dem Neustart auch der Cache wieder neu füllen.

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

9. Juli 2009 08:10

mitunter liegt es auch an den Schlüsseln. Der Sql Server hat hier eine gewisse "Eigenintelligenz" die dem C/Side fehlt.

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

9. Juli 2009 11:39

Hallo Schurek,

zunächst mal einige Fragen:
  • Wie groß ist deine Native-DB?
  • Wieviel Speicher hat dein Rechner?
  • Arbeitest du nur mit dem Client auf der DB

Ich gehe jetzt mal davon aus, das dein Notebook etwa 1-2GB Arbeitsspeicher hat, und deine native DB <20GB (Daten enthält) und du nur mit dem Client auf der DB arbeitest.

Im Client findest du unter 'Extras/Optionen' den Eintrag DBMS-Cache, der steht wahrscheinlich noch auf dem default von 8000. Ändere den Wert auf einen Betrag von >100000 bis max. 900000, aber mindestens 50-100MB weniger als dein Rechner freien Arbeitsspeicher hat.

Wenn du jetzt den Client mit der Datenbank neu startest, sollte er zunächst eine Gedenkminute einlegen (den Cache laden) und dann die Anwendung zur Verfügung stellen. Der erste Aufruf einzelner Funktionen kann dann zunächst etwas länger dauern, beim darauffolgenden Zugriff geht es dann schon erheblich schneller (Die Daten müssen halt erst in den Cache. Das wird bei dir dann bei jedem Neustart des Clients passieren).

Gruß, Fiddi

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

9. Juli 2009 19:23

Hallo und erst mal ganz lieben Dank für eure Antworten.

@Timo
Um das auszuschließen, was du geschrieben hattest habe ich den gleichen Versuch auf dem Server gemacht. Und es ist genau so langsam wie auf meinem NB.

@fiddi
Hammer, ich habe den Wert erstmal auf 100000 gesetzt und das haut mich um. Das ist noch deutlich langsamer als der SQL aber unglaublich.

ICh habe mit einer Tabelle getestet die bis vorhin 1,5 Minuten zum öffnen benötigt. Mit erhötem Cache öffnet sie in 3 Sekunden. Und das Starten dauert nicht merklich länger und es ist auch von Anfang an extrem zügig.

@All und Thomas

Unser NAV - Entwickler sagte mir ich müsste noch einen Serverdienst für die C/SIDE istallieren. Was hat es denn damit auf sich.

Eine Alternative wäre es noch mir eine MSDE auf das NB zu packen. Wisst ihr ob ich da die MS-SQL Express nehmen kann, obwohl unser SQL ein 2000er ist?

Ganz lieben Dank nochmal.

Gruß
Schureck

Was hat es denn damit

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

10. Juli 2009 08:39

Wisst ihr ob ich da die MS-SQL Express nehmen kann, obwohl unser SQL ein 2000er ist?

ja das geht, solange es nicht kommerziel verwendet wird, hat die EXPRESS Version (meines wissens nach) keinerlei Einschraenkungen

Unser NAV - Entwickler sagte mir ich müsste noch einen Serverdienst für die C/SIDE istallieren. Was hat es denn damit auf sich.

Sollange die DB nur für dich ist und nicht noch fuer andere user bzw. mehrere User gleichzeitig macht das kein Unterschied ob du einen Dienst installiert hast oder nicht. Du hast lokal deine einzel-user-Installation und das reicht zum testen auch völlig aus!

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

10. Juli 2009 08:42

Hallo Schureck,

das dein Notebook langsamer ist als dein SQL-Server dürfte u.a. daran liegen, dass du in deinem Notebook nicht gerade Serverplatten mit 15k o. 10k Umdrehungen/Minute drin hast oder? :wink:
Der Serverdienst ist im Prinzip fast nicht anderes, als dein SQL-Server, er organisiert den Zugriff der Clients auf - hier ist der Unterschied - die C/SIDE- Datenbank.
Der Serverdienst auf deinem Notebook bringt nur dann etwas, wenn du den Client öfter neu startest (wg. Cacheaufbau), oder du mehrere Datenbanken auf deinem Notebook lokal parallel öffnen willst (man kann mit mehreren Clients nur eine lokale Datenbank öffnen), oder von anderen Rechnern auf deine lokale Datenbank zugegriffen werden soll.
Für die MSDE o. SQLExpress 2005/2008 gilt das gleiche. Die Serverdienste verursachen bei gelegentlicher Nutzung der lokalen DB eigentlich nur unnützen Overhead.

Wenn du mit einem Server arbeiten willst, kannst du ab technische Umgebung NAV 4.0 SP3 auch den SQL-Express 2008 nehmen.

Gruß, Fiddi

Re: SQL Datensicherung in C/Side einlesen und schnelles arbeiten

14. Juli 2009 18:58

Hallo Leute,

lieben Dank noch mal.

Habe nun mehr getestet und kann super mit der Geschwindigkeit leben.

Ich werde mal den SQL auf einem Testsystem installieren, nur um zu sehen ob das nun wirklich super viel bringt.

Bis dann.

Schureck