Stati sa vedeti ca problema vine din complet alta parte.
Este foarte interesant ce se intampla aici.
Iata rezumatul
___________________________________________________________________________________
CE UTILIZAM :
O aplicatie care utilizeaza baze de date SQL. (conectare ODBC ) – scrisa in
Visual Fox Pro 9.0
Conectarea se face cu “Sqlstringconnect” – presupun ca
ODBC
Un server SQL 2005 - SBS Kit
___________________________________________________________________________________
CARE ESTE PROBLEMA CU CARE NE CONFRUNTAM
- Aplicatia ruleaza extrem ! extrem de greu ( deschide o forma in 18
secunde in loc 0.000001 )
- Aplicatia utilizeaza un meniu, care la randul lui poate apela mai multe
executabile.
___________________________________________________________________________________
CE AM CONSTATAT IN URMA INVESTIGATIILOR FACUTE ( tot, voi scuti etapele prin
care am trecut )
1) In urma optimizarii indecsilor nu s-a obtinut mare lucru in performanta
2) In Logul de SQL aparea foarte frecvent linia aferenta CheckDB-ului. ( si nu
era apelat de noi )
(Este de fapt o informare cu
data la care s-a facut ultimul CheckDB pe baza pe care vrea sa o deschida)
3) Nu existau Taskuri / Scheduled-uri / Joburi / orice altceva nici pe serverul
de SQL, nici in WIN 2003 R2
4) Selecturile durau intre 700 si 900 ms in loc de 5 - 10 cat ar fi trebuit
_____________________________________
5) TOTUL FUNCTIONEAZA FULGER ! daca pe server se deschide un EMS si se conecta
la toate bazele utilizate.
( nici nu mai apareau CheckDB-uri in loguri, formele se incarcau in sub o
secunda ( in loc de 18 )... super !!!)
_____________________________________
6) CONCLUZII
6.1) Cand se stabileste o conexie noua la serverul de SQL, acesta deschide baza
de date catre care se trimite selectul si
incetineste foarte tare executia aplicatiilor. ( Fiind vorba de mai multe
executabile, fiecare din ele deschide baza de date )
6.2) Cand se deschide o baza de date, se executa si CheckDB-ul ( care se face
instant si nu supara pe nimeni - nu asta era problema )
6.3) Daca pe server s-au deschis o data bazele de date, acestea raman deschis,
si practic, tot timpul alocat de clienti deschiderii acestora
se sterge cu buretele ( cred ca 90 % din timpul de executie initial - fara
EMS-ul pornit pe server)
INTREBARI RAMASE
7) Este EMS-ul doar un factor care tine deschise bazele de date ?,
8) Cu ce am putea s ail inlocuim pentru obtinerea acestui
rezultat ?
9) Este singura solutie in cazul acestui gen de aplicatie ?