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
Manutenzione DB-Sql Server
giovedì 12 gennaio 2012 - 12.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2000
vittosss
Profilo
| Junior Member
124
messaggi | Data Invio:
gio 12 gen 2012 - 12:03
Buongiorno a tutti,
volevo illustrarvi il mio caso e chiedervi consiglio.
premetto che so di essere lacunoso e devo studiare ma vorrei risolvere il momento contingente.
parliamo di una installazione di sql server 2000 sp4 sulla quale ho 2 db che definirei grossi. i backup cubano circa 50gb per singolo db. francamente troppo ed ho la percezione che siano gonfiati. ho fatto quindi una select al fine di ottenere la dimensione di ciascuna tabella ed operare una eventuale archiviazione di dati.
quindi, primo caso e prima domanda: c'è modo di verificare la correttezza di un db, che non sia "gonfio", che lavori bene? attualmente eseguo una volta al giorno backup ( la notte ) e a mezzogiorno un trn log. la notte eseguo anche una truncate.
seconda questione anomala. il tempdb cresce a dismisura e non si sgonfia. la notte dunque sono costratto ad operare un riavvio di sql server per riportarlo ai canoni consueti.
cosa mi consigliereste di fare?
ciao e grazie a tutti
V.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 12 gen 2012 - 20:49
>parliamo di una installazione di sql server 2000 sp4 sulla quale
>ho 2 db che definirei grossi. i backup cubano circa 50gb per
>singolo db. francamente troppo ed ho la percezione che siano
>gonfiati.
Ciao,
Per verificare lo spazio utilizzato da un db (e dai suoi oggetti) e quello allocato ma non in uso, puoi far ricorso alla stored procedure di sistema sp_spaceused:
http://technet.microsoft.com/it-it/library/ms188776.aspx
ho fatto quindi una select al fine di ottenere la dimensione
>di ciascuna tabella ed operare una eventuale archiviazione di
>dati.
Ottieni le righe, non la dimensione (espressa in bytes).
>quindi, primo caso e prima domanda: c'è modo di verificare la
>correttezza di un db, che non sia "gonfio", che lavori bene?
Le dimensioni di un db hanno poco a che vedere con il fatto che "lavori bene".
Un db di 100 MB non ottimizzato a livello di definizione dei suoi oggetti, del codice T-SQL, della definizione degli indici/statistiche può offrire prestazioni molto inferiori rispetto ad uno di 100 GB altamente ottimizzato.
>attualmente eseguo una volta al giorno backup ( la notte ) e
>a mezzogiorno un trn log. la notte eseguo anche una truncate.
Un truncate di cosa? Le tabelle vengono poi ripopolate con dati freschi? Gli indici sono ricostruiti al termine del caricamento degli stessi?
>seconda questione anomala. il tempdb cresce a dismisura e non
>si sgonfia.
Un utilizzo anomalo del tempdb mi fa pensare a query poco ottimizzate e/o ad indici molto frammentati che non vengono scelti dal query optimizer per la definizione dei query plans, quindi verranno eseguiti table/index scan massivi che in fase di ordinamento/join richiedono la creazione di tabelle temporanee.
Il tempdb viene ricreato ad ogni riavvio del servizio.
>la notte dunque sono costratto ad operare un riavvio
>di sql server per riportarlo ai canoni consueti.
Cosa itendi con "canoni consueti"?
SQL Server è un servizio "server" e come tale deve essere sempre disponibile senza richiedere alcun riavvio notturno.
Se questo riavvio è richiesto (ma devi spiegarci il motivo), significa che sussistono dei grossi problemi
>ciao e grazie a tutti
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
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 !