Elenchi di controllo di SQL Server


14

A seguito dell'altra mia domanda , vorrei iniziare a pensare a cosa dovrei dare un'occhiata su basi giornaliere / settimanali / mensili in termini di avvisi. Spero di riuscire a vedere i problemi prima che si verifichino (questo è il piano) ...

Finora ho iniziato a raccogliere script per il seguente (nessun ordine):

Quotidiano

  • Controlla il tempo di attività del sistema (nel caso dovessi controllare qualcosa come DBA)
  • Controlla l'ultimo backup
  • Controllare i backup del registro delle transazioni
  • Controlla lo stato dei lavori SQL
  • Controlla l'utilizzo medio della CPU nelle ultime 24 ore (o 1140 minuti)

settimanalmente

  • Controlla la cronologia dei backup di MSDB
  • Controlla per vedere quando è stata eseguita l'ultima volta CheckDB
  • Controlla la frammentazione dell'indice
  • Controlla le statistiche dell'indice (letture vs scritture ecc.)
  • Verificare i colli di bottiglia di IO

Mensile

  • Controlla gli indici mancanti
  • Controlla gli indici che non vengono più utilizzati

Altri suggerimenti? (Sono nuovo di DBA, quindi qualsiasi aiuto / consiglio è sempre il benvenuto)

Risposte:


3
  1. I backup

    • Controlla le email di backup
    • Quanto tempo ha richiesto l'esecuzione del backup (durata del backup del database)
    • Verificare che venga eseguito il backup di tutti i database in base a un piano di manutenzione
  2. Spazio libero su disco. Nota variazioni significative rispetto al controllo precedente. I file di registro possono essere notevolmente influenzati dai lavori mensili

  3. Fallimenti. Filtra l'attività del lavoro per errori

  4. Controlli di sistema. Cerca nei log sql eventuali errori critici.

    • Log dell'applicazione
  5. Prestazione

    • Controlla le statistiche delle prestazioni su tutti i server
    • Verificare che i contatori siano nell'intervallo normale su tutti i server di produzione
  6. Connettività

    • Verificare che l'applicazione del cliente possa ottenere dati dal database
    • Verificare la velocità accettabile dei dati di accesso
  7. Replica. Verificare che ogni pubblicazione e distributore sia in esecuzione per ogni abbonamento

Elenco di controllo DBA di SQL Server

Elenco di controllo DBA sicuro di Brad

Elenco di controllo DBA Oracle (forse utile)

Elenco di controllo per la gestione del database DBA di SQL Server

Elenco di controllo mattutino DBA

Elenco di controllo DBA di MS SQL Server (molte liste di controllo)

Elenco di controllo DBA di SQL Server


4

L'unica variante che suggerirei nella tua lista di controllo è quella di sostituire la parola BACKUP con RESTORE. Controllando che i backup completi siano un buon inizio, ciò che conta davvero è se è possibile ripristinarli o meno. Avvisa in caso di errore di backup, automatizza un campionamento casuale di ripristini in modo da sapere che i tuoi backup sono buoni.

Il passaggio successivo da un elenco di controllo giornaliero / settimanale / mensile è la cronologia. Un controllo sui contatori delle prestazioni x / y / z non ha senso senza una baseline da confrontare oggi con ieri. Senza capire oggi rispetto a ieri, è impossibile prevedere il mese prossimo.


2

DISCLAIMER: non un DBA di SQL Server

Se possibile, è possibile che si desideri verificare mensilmente gli indici che non vengono utilizzati da alcuna query. Questo per cui vorresti sicuramente farlo

  • tavoli molto grandi
  • tabelle con molti indici
  • indici con più colonne (3 o più)

4
Basta essere sicuri che "non essere utilizzato" riflette un intero ciclo economico. Ho sentito parlare di più casi in cui il DBA ha deciso di eliminare un indice che non era stato utilizzato per un paio di mesi, e il giorno successivo il rapporto trimestrale del CFO impiega ore anziché secondi ... non puoi fare affidamento su index_usage_stats DMV, specialmente se il tuo server viene riavviato periodicamente, quindi lo farei solo se manterrai le tue statistiche di utilizzo nel tempo ...
Aaron Bertrand

2

Controllare frequentemente la lunghezza della coda I / O per il collo di bottiglia.


2

Qualcosa di utile per realizzarlo ... Idera ha messo a punto uno strumento gratuito per la revisione dei lavori di SQL Server che ho usato alcune volte. È molto buono per avere una buona visione d'insieme, sebbene abbia alcune limitazioni poiché è gratuito. Vale la pena controllare: http://www.idera.com/Products/Free-Tools/SQL-job-manager/

Qualcosa che aggiungerei per il lato della sicurezza della casa ... Un file di traccia specifico per l'acquisizione dell'attività di accesso per gli account utente. Ciò ti consentirà di trovare facilmente account inattivi. Quindi anche script che monitora quando qualcuno viene aggiunto a ruoli fissi server / database. Soprattutto sysadmin, se non sei l'unico a gestire il server / istanza.


Un file di traccia è il modo migliore per farlo?
Thomas Stringer,

è il modo più semplice che conosco per ottenere le informazioni. A meno che non si inserisca un trigger per acquisire le informazioni in una tabella o nel registro, forse. Se si utilizza SQL 2008, è possibile utilizzare la gestione dei criteri per questo scopo.

Una traccia può essere il modo migliore, @ShawnMelton. Esiste un modo per modificare il registro ( sqlservercentral.com/articles/security/sqlserverauditingpart1/… ) in modo che SQL Server controlli tutti gli accessi (riusciti e non riusciti). Non sono sicuro di quale sia il metodo migliore, ma sono sempre stato preoccupato di mantenere una traccia a tempo indeterminato. I tuoi pensieri?
Thomas Stringer,

Non ho mai avuto problemi nell'esecuzione di file di traccia in cui influivano così tanto sulle prestazioni. Abilitando il controllo C2, anche se ho, non mi piace abilitarlo. Gli eventi estesi offrono un'alternativa e dovrebbero essere il metodo preferito per l'utilizzo dei file di traccia, maggiore potenza con essi. Potresti controllare quelli per vedere se esiste un'opzione per gli eventi di accesso, ne sono sicuro. Da quello che ho capito su di loro, sono esclusi in qualche modo dal provocare un successo con le prestazioni.

simpatico. Sono propenso ad essere d'accordo con te. E sì, C2 è sicuramente una di quelle situazioni da usare solo se ne hai bisogno.
Thomas Stringer,

0
  • controllare il log degli errori di SQL Server e SQL Server Agent
  • verifica lo stato dei server con mirroring (principale e mirror)
  • controllare i cambiamenti dei tempi di esecuzione dei lavori
  • controlla il nodo attivo nel server sql cluster
  • controlla SPAZIO DISCO
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.