Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Mgrazione da sql sev2000 a sql srv2005
giovedì 14 gennaio 2010 - 18.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
violink
Profilo
| Newbie
3
messaggi | Data Invio:
gio 14 gen 2010 - 18:48
Ciao a tutti.
su un server con architettura a 64 bit è stato installato sql server 64 bit standard edition.
successivamente sono state portate un paio di instanze sql server 2000 su questo server.
sul vecchio sql server 2000 l'applicazione che accedeva al db è a 32 bit ed utilizza l'accesso tramite odbc.
ora, sul nuovo server, l'applicazione client è sempre la stessa ed utilizza i medesimi driver ma puntando al nuovo server ed al nuovo db che ha mantenuto lo stesso nome ).
sembrava andare tutto bene ma nel momento che dalla applicazione (gestionale) se elaborano query
un po' corpose il server si 'pianta' , dando il risultato (al client) con tempi addirittura ridicoli.
Cosa ho fatto:
- verifica utilizzo memoria (al massimo il task manager mostra un utilizzo di 2gb sui 4 installati)
- roorganizzazione indici
- ricostruzione indici
- aumento della memoria dedicata alle query (da 1024 a 2048 Kb) .
non sono venuto a capo di nulla.
ci possono essere delle problematiche di compatibilità tra la applicazione client a 32 bit e il server a 64 Bit ? qualche altro controllo da fare?
Grazie per l'aiuto.
Gianluca
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
sab 16 gen 2010 - 18:50
>ci possono essere delle problematiche di compatibilità tra la
>applicazione client a 32 bit e il server a 64 Bit ?
Non mi risulta.
> qualche altro controllo da fare?
Verifica i piani di esecuzione delle query ed intervieni ove necessario modificandole e/o intervenendo sugli indici.
>Grazie per l'aiuto.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
violink
Profilo
| Newbie
3
messaggi | Data Invio:
mer 20 gen 2010 - 09:37
Grazie.
in effetti ho capito che vi erano dei tempi biblici nel momento in cui la query (che in 2000 non dava questi sintomi) processava i join (scritti nella maniera 'inner join nometabella on campo1 + campo2).
risrcrivendo i join le cose sono migliorate molto ma (per alcune query che utilizzano tabelle indicizzate)
siamo ancora lentini...
mi sono letto un po' di cose sugli indici e credo la direzione sia questa.
A questo punto la domanda è : devo cancellare i vecchi indici e provare a ricrearli uno alla volta
monitorando il piano delle query per vedere i singoli costi ?
negli attuali costi vi sono diversi casi in cui la query effettua un ' RID Lookup ' , con costi elevati.
Ho capito che questi RID Lookup possono essere eliminati (ho letto le 3 puntate sulla teoria degli indici
a firma Pinal Dave) . e vorrei provare.
Non ho sufficiente dimestichezza con gli indici su sqlsrv2005, e quindi chiedo qualche consiglio:
- clustered /non clustered
- colonne della select incluse negli indici o solo campi chiave.
ringrazio per l'aiuto.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 20 gen 2010 - 10:04
>Non ho sufficiente dimestichezza con gli indici su sqlsrv2005,
>e quindi chiedo qualche consiglio:
>- clustered /non clustered
>- colonne della select incluse negli indici o solo campi chiave.
Non esiste una ricetta magica per indicizzare correttamente le tabelle, i fattori che entrano in gioco sono molteplici quindi occorre eseguire diverse prove fino a identificare la soluzione più efficiente.
A titolo generale gli indici clustered vanno utilizzati per indicizzare le colonne coinvolte in raggruppamenti/ordinamenti e specificate nella clausola WHERE con operatori >, >=, <, <= o BETWEEN.
Per quanto riguarda la copertura degli indici, la keyword INCLUDE ti permette di definire indici "snelli" nel b-tree ma che a livello foglia includono le colonne specificate, evitando in questo modo di accedere alle data pages via lookup.
>ringrazio per l'aiuto.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
violink
Profilo
| Newbie
3
messaggi | Data Invio:
gio 25 feb 2010 - 09:56
buongiorno a tutti.
torno sul mio precedente post per dirvi che dopo aver rimesso mano agli indici le cose si sono
normalizzate ed ora le prestazioni sono soddisfacenti.
tuttavia mi capita questo:
ogni settimana circa sono costretto a lanciare manualmente la SP updatestats in quanto noto
dei pesanti rallentamenti e credo che malgrado l'impostazione della opzione autoupdate stats sia
settata su ON , il server non riesca a mantenerle aggiornate.
chiedo se si possa automatizzare l'esecuzione di questa SP di modo da non doverla lanciare manualmente. (io per altri batch utilizzo cmdsql, non so se possa andare bene) .
Ringrazio tutti per il cortese aiuto.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 25 feb 2010 - 10:18
>chiedo se si possa automatizzare l'esecuzione di questa SP di
>modo da non doverla lanciare manualmente. (io per altri batch
>utilizzo cmdsql, non so se possa andare bene) .
Ciao Gianluca,
Se utilizzi l'Express Edition puoi schedulare la stored procedure tramite un windows task che richiami sqlcmd.exe, altrimenti è più comodo definire un nuovo job con SQL Server Agent.
>Ringrazio tutti per il cortese aiuto.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !