Wann stösst eS an seine Grenzen?

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Hallo,

leider habe ich das Gefühle das so langsam eS am ende seine Grenzen ist, ich spiele immer in 10000er Schritten meine Produkte ein, ich bin nun bei der 5.csv quasi sollten dann 50000 prods in der DB sein, am Anfang lief alles noch super rund, nun aber lagt das ganze sys und ich brauche die halbe Nacht für das einspielen in eS.

Der Datenabgleich mit der OSC DB dauert knapp 2h bei 10000 Produkten, mit dieser Zeit ich auch leben kann.

Was wird sein wenn ich mit meinen Listen fertig bin (100.000 Prods) und jede Woche bekomme ich ~300 Neue Artikel.
Wird eS dann nicht mehr gut genug sein?

Wie sind Eure Erfahrungen? Wer hat viele Produkte (ab 50000)? Liegt es am PC? AMD 3800 Barton zZt. 512 MB RAM.


Gruss Spirix
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
Welche Version von eS wird aktuell benutzt?
ab der 0980 habe ich die Importe auf große Datenmengen angepasst, so das diese ca. 3x so schnell laufen wie in 0979. Dennoch durch die Update Funktion ging wieder etwas von der Geschwindigkeit verloren.


Ich habe auf meinem 2GHz Notebook eine Zubehörliste von ca. 200.000 Artikel verwaltet (ohne Bilder und ohne langen Beschreibungstexte) und das ganze hat Einigermaßen gut funktioniert.

De Importlisten habe ich in 10x 20.000 aufgeteilt, so werden diese schneller bearbeitet.

Grenzen gibt es bei der MSDE - 2GB.
Bei 50.000 Artikel mit ca. 50 kB Bildmaterial ist die DB am Anschlag.
Hier wäre SQL-Express zu empfehlen, da dies mehr Daten verwalten kann, oder sogar der große Bruder SQL-Server Standard. Diese hat keine Größenbegrenzung mehr (kostet aber um die 1000 EUR).

Meine das in Small Business Edition von Windows Server der SQL-Server ebenfalls enthalten ist (ist billiger).

Als Hardware sollte man für solche Artikelmengen keine Kosten scheuen, je schneller der Server desto schnell werden die Datenbearbeitet.
2GHz Xeon oder Dual Prozessor Maschinen mit ordentlich RAM können die Anzahl der Transaktionen / Sek. deutlich erhöhen.


Dennoch würde mich ebenfalls sehr interessieren welche Datenmengen mit welcher Hardware bei den Nutzern eingesetzt werden.
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
so ich glaube nun haben wir das Problem, das die DB nichts mehr aufnimmt :/ was mache ich jetzt ... habe hier nun noch 20000 produkte die ich einpflegen muss ?!
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Ich habe nun Microsoft SQL Server 2005 Express Edition installiert, doch leider kommt immer noch die selbe Fehlermeldung:

Error -1 preforming exec
SQL State = 00000
SQL Message=
Src: SQLParamData Failed


später kommt noch eine andere Fehlermeldung:

Error -1 preforming exec
SQL State = 37000
SQL Message [Microsoft][ODBC SQL Server Driver][SQL Server]Speicherplatz für das tartikel-Objekt in der eazybuisness-Datenbank konnte nicht reserviert werden, da die Primary-Dateigruppe voll ist.
Src: Execute

Kann ich noch Änderungen machen damit die neue db von eS erkannt wird? (weil ich davon ausgehe das eS noch die alte nimmt)

oder kann ich wenn es nicht funktioniert mit einer leeren Datenbank weitere Artikel einpflegen im Shop ohne das es zu löschungen oder veränderungen kommt?!


Vielen Dank für den hervorragenden Support!

gruss spirix
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Hallo,

nein ich hab express voll installiert diese liegt nun in:

C:\Programme\Microsoft SQL Server\MSSQL.1
genau neben
C:\Programme\Microsoft SQL Server\MSSQL$EAZYSALES

wie kann ich easysales nun sagen das der die neue db nutzen soll?

gruss spirix
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
Hm, das .1 stört mich da etwas, da ich nihct weiss wie die Instancenamen bei SQL 2005 verwaltet werden.

Versuche bitte folgendes:

Start -> Ausführen -> cmd.exe starten

Code:
osql.exe -S (local)\1 -U sa -P <passwort von sa>


Danach sollte :
1> erscheinen. mit "quit" wieder raus.

Ich gehe davon aus das der Instancname "1" lautet.

Wenn das klappt, kopiere die eazybusiness.mdf Datei in den Ornder von MSSQL.1\Data\

und rufe

Code:
osql.exe -S (local)\1 -U sa -P <passwert> -Q "sp_attach_db 'eazybusiness', 'c:\Programme\Microsoft SQL Server\MSSQL.1\Data\eazybusiness.mdf'"


Nachdem dieser Aufruf erfolgreich war, muss die ODBC Verbindung angepasst werden.

Servername: "Rechnername\EAZYSALES" muss dann in Rechnername\1 geändert werden.

Die eazybusiness.mdf kann von MSDE in SQL2005 benutzt werden, anders hrum geht es nicht mehr!
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
hmm leider
leider geht der erste befehl nicht, da gibt er mir aus

[DBMSLPCN]SQL Server existiert nicht oder Zugriff verweigert.
[DBMSLPCN]ConnectionOpen (Connect()).

ich weiss auch nicht was da für ein pass rein soll ?! das von eS und aber auch keins geht leider nicht.

mache ich:
C:\>osql.exe -S (local)\EAZYSALES -U sa -P sa04jT14
kommt
1> quit

warum arbeitet Ihr nicht gleich SQL Server 2005 Express ein? weil es mit Windows Installer 3.1 und .NET Framework 2.0 arbeitet und man das extra installieren muss?


und wo würde ich später die ODBC Verbindung anpassen?
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
so, mit
Code:
osql.exe -S (local)\1 -U sa -P <passwort von sa>
funktionierte es ja nicht

.... aber mit
Code:
osql.exe -S (local)\sqlexpress -U sa -P <passwort von sa>
(habe beim Install gesehen das er MSSQL$SQLEXPRESS anlegt)

habe dann wie gesagt die eazybusiness.mdf kopiert und
Code:
osql.exe -S (local)\sqlexpress -U sa -P sa04jT14 -Q "sp_attach_db 'eazybuisness','C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\Data\eazybusiness.mdf'"

ausgeführt, leider kommt dort eine Fehlermeldung:

Code:
Meldung 1813, Ebene 16, Status 2, Server NAME-122B0141CD\SQLEXPRESS, Zeile 1
Die neue 'eazybuisness'-Datenbank konnte nicht geöffnet werden. CREATE DATABASE
wird abgebrochen.
Dateiaktivierungsfehler. Der physikalische Dateiname "C:\Programme\Microsoft
SQL Server\MSSQL$EAZYSALES\Data\eazybusiness_log.LDF" ist möglicherweise
falsch.
Das Protokoll kann nicht neu erstellt werden, da die Datenbank nicht
ordnungsgemäß heruntergefahren wurde.

egal was ich mache (neustarten und herunterfahren unter Dienste)
die Meldung bleibt immer gleich :/

mit hoffnugsvollen hilfegruss spirix :)
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
wie kann ich jetzt auf einfachste weise die neue sql benutzen? kann doch nich so schwer sein :/ nur ich hab ka ^^
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
Da sollte man wie folgt lösen können:

MSSQL$EAZYSALES unter Dienste starten.

Danach in cmd.exe folgendes aufrufen:

Code:
osql -D eazy -U sa -P sa04jT14 -Q "DETACH eazybusiness"


Somit wird die Datenbank korrekt "agbehangen".

Jetzt die Datei eazybusiness.mdf von MSSQL$EAZYSALES unter MSSQL 2005 kopieren und

Code:
osql.exe -S (local)\sqlexpress -U sa -P sa04jT14 -Q "sp_attach_db 'eazybuisness','C:\Programme\Microsoft SQL Server\MSSQL.1\MSSQL\Data\eazybusiness.mdf'"

ernwut aufrufen.

Das sollte klappen.
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Hallo,

leider auch ohne Erfolg:

Code:
osql -D eazy -U sa -P sa04jT14 -Q "DETACH eazybusiness"

Code:
Meldung 2812, Ebene 16, Status 62, Server NAME-122B0141CD\EAZYSALES, Zeile 1 Die gespeicherte Prozedur DETACH konnte nicht gefunden werden.
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
ich brauche Urlaub :roll:

entschzuldige die Verwirrung, es soll natürlich :

Code:
osql -D eazy -U sa -P sa04jT14 -Q "sp_detach_db eazybusiness"
heißen.
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Hmm sry aber leider immer nix

Code:
osql -D eazy -U sa -P sa04jT14 -Q "sp_detach_db eazybusiness"

Code:
Meldung 3701, Ebene 16, Status 3, Server NAME-122B0141CD\EAZYSALES, Zeile 1
Datenbank 'eazybusiness' kann nicht getrennt werden, da derzeit in Verwendung.

vielen dank für den bisherigen support
 

spirix

Aktives Mitglied
18. Oktober 2006
81
0
Wie siehts aus, ich bekomms wohl nicht hin.
ka warum Ihr auch nicht die Express schon von hause aus einbindet ?!

... naja nun, kann ich denn eine neue db beginnen und mit xtc abgleichen?
muss die prods endlich hochbekommen :/
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
Beim Aufruf der SQL Anwesiung dürfen keine Programme mit der DB verbunden werden, auch nicht eazySales!
(Steht auch in der Fehlermeldung drin..)

Dann sollte der so_detach_db auch klappen.
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
264
Bei ODBC wird die Verbindung definiert, aber keine Aufgebaut.

Aber das war ein guter Tipp, denn osql mit dem Parameter -D eazy
genau eine Verbindung zu eazybusiness aufbaut.

Somit muss beim Aufruf von osql andere DB gewählt werden und zwar:

Code:
osql -D eazy -U sa -P sa04jT14 -d master -Q "sp_detach_db eazybusiness"

Das sollte klappen.