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
Ottimizzazione e Performance DB Sql Server
mercoledì 29 agosto 2012 - 17.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
|
SQL Server 2000
vittosss
Profilo
| Junior Member
124
messaggi | Data Invio:
mer 29 ago 2012 - 17:00
Ciao a tutti, vi illustro il mio problema.
ho un db su sql server 2000 sp4 di circa 30gb e su questo fare tutta una serie di attività al fine di avere un db + snello e soprattutto + performante.
il tutto passa certamente da una pulizia di record superflui o vecchi, indici, statistiche. e fin qui, dovremmo esserci. potrebbe essere ottimale splittare su + file il db?
sarebbe inoltre utile prima di agire fare un'attenta attività di monitoring sul db in questione mentre viene usato in modo da identificare eventuali nodi o query scritte non proprio ad hoc. ho sempre un po' litigato col profiler che poche volte ho compreso fino in fondo. inoltre mi chiedevo se potesse essere utile portare il db sql server 2000 su 2008 al fine di sfruttarne i tool. il mio unico dubbio è che importandolo possa, come penso, subire delle modifiche rendendo il db inutilizzabile dalla mia applicazione.
avreste informazioni o suggerimenti in merito?
grazie mille a tutti
V.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 29 ago 2012 - 17:20
>Ciao a tutti, vi illustro il mio problema.
ciao
>potrebbe essere ottimale splittare su + file il db?
ci sono dei whitepaper per la corretta configurazione dei file del db. Ma il tutto dipende anche da che hardware hai (in termini di macchina e storage).
Quindi, indicativamente sì, ma le migliorie le puoi trovare leggendo qui:
http://blogs.technet.com/b/beatrice/archive/2008/04/07/collection-of-sql-server-storage-best-practices.aspx
e poi leggendo in generale le specifiche per 2005 a mio avviso sono buone anche per 2000:
http://technet.microsoft.com/en-us/library/cc966534.aspx
http://msdn.microsoft.com/en-us/library/cc966412.aspx
>sarebbe inoltre utile prima di agire fare un'attenta attività
>di monitoring sul db in questione mentre viene usato in modo
>da identificare eventuali nodi o query scritte non proprio ad
>hoc. ho sempre un po' litigato col profiler che poche volte ho
>compreso fino in fondo. inoltre mi chiedevo se potesse essere
>utile portare il db sql server 2000 su 2008 al fine di sfruttarne
>i tool. il mio unico dubbio è che importandolo possa, come penso,
>subire delle modifiche rendendo il db inutilizzabile dalla mia
>applicazione.
>avreste informazioni o suggerimenti in merito?
Di certo per motore, prestazioni, funzionalità, e quant'altro.. è meglio passare al 2008, senza dubbio (a questo punto se devi comprare, meglio ancora 2012).
Per contro però, devi fare attenzione a varie cose, tra cui:
- programmabilità (se hai scritto linee di codice legacy, dovrai prevedere dei refactor, che potrebbero essere non trascurabili)
- deprecazioni (se hai usato strumenti che non esistono più, dovrai reimplementarli oppure capire come riaffrontare il problema)
- riconsiderare modo di scrittura di query
- riconsiderare i vantaggi che i nuovi tipi di indice ti danno
le ultime due a dire il vero le puoi sempre pensare anche dopo, ma di certo, dopo aver portato il tuo database a "nuova" vita, dovrai ricostruire tutti gli indici e aggiornare tutte le statistiche. Non è detto che l'optimizer sia migliore sempre (era al top magari con 2000, ma nelle versioni nuove dovrai riscrivere qualcosa se non ha seguito sintassi standard e best practices). Il profiler ti aiuterà, ma non solo, se usi nuove versioni, poi altri tool come il database tuning advisor ti aiuteranno a capire quali indici mancanti dovrai disegnare ed eventualmente, con l'ausilio di un paio di dynamic management views potrai capire quali indici non sono proprio utilizzati. I piani di esecuzione inoltre (partendo da tracce del profiler) ti daranno informazioni su quanto una query potrebbe essere concepita in maniera differente.
Non vi è poi da sottovalutare il fatto che con alcuni nuovi costrutti puoi fare cose che prima potevi implementare solo facendo voli pindarici (vedi gerarchie, ricorsività, cursori, funzioni di ranking).
Diciamo che è un tema su cui perdere una settimana di discussione
Ho provato ad essere brevissimo..
>grazie mille a tutti
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
vittosss
Profilo
| Junior Member
124
messaggi | Data Invio:
lun 3 set 2012 - 20:34
grazie alx, sempre gentilissimo.
mi sono studiato un po' di materiale oltre a quanto da te segnalato.
ci sono query che aiutino a capire quali processi sono molto onerosi o magari indici da creare o query da riscrivere?
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 4 set 2012 - 17:04
>ci sono query che aiutino a capire quali processi sono molto
>onerosi o magari indici da creare o query da riscrivere?
dipende dalla versione di sql che decidi di usare, da 2008 hai anche le view per gli indici missing, poi hai il Database Tuning Advisor e altre funzionalità che in versioni precedenti non trovi.
Ovvio che il tutto dipende dall'edizione anche. La express non ha tutte le funzionalità disponibili.
Puoi usare il profiler comunque con 2000 se non ricordo male, sempre se l'edizione lo supporta.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
vittosss
Profilo
| Junior Member
124
messaggi | Data Invio:
mer 5 set 2012 - 09:55
dunque, dopo mirabolanti peripezie sono riuscito a connettere una installazione di sql server 2008 al db sql server 2000.
quindi ho creato un trc con il profiler usando il template Tuning. poi ho usato il trc nel database engine tuning advisor.
...e non è che abbia afferrato tutto tutto...anzi...
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 5 set 2012 - 10:04
>...e non è che abbia afferrato tutto tutto...anzi...
in che senso? Errori? Nessuna miglioria? Oppure non hai afferrato tu?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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 !