Domanda

Sono uno sviluppatore.Un architetto nelle belle giornate.In qualche modo mi ritrovo anche ad essere il DBA della mia piccola azienda.Il mio background è discreto nelle arti DB, ma non sono mai stato un DBA a tutti gli effetti.La mia domanda è: cosa devo fare per garantire un ambiente di database affidabile e ragionevolmente funzionale con il minimo sforzo possibile?

Sono sicuro di dover assicurarmi che i backup vengano eseguiti e che ciò venga fatto.Questo è facile.Cos'altro dovrei fare su base costante?

È stato utile?

Soluzione

Chi altro è coinvolto nel database?Sei l'unica persona ad apportare modifiche allo schema (creando nuovi oggetti, rilasciando nuove procedure memorizzate, autorizzando nuovi utenti)?

  • Assicurati che il numero di utenti che fanno qualsiasi cosa che potrebbe influire sulle prestazioni sia ridotto il più vicino possibile allo zero, idealmente includendoti.
  • Assicurati di testare i tuoi backup: idealmente esegui una DEV box che ricrea periodicamente l'ambiente di produzione, 1.una scatola DEV è una buona idea, 2.un backup è utile solo se è possibile ripristinarlo.
  • Crea gruppi per le varie app che si connettono al tuo database, così quando arriva un nuovo utente non indovina di quali permessi ha bisogno, basta aggiungerlo al gruppo, nel frattempo permetti agli oggetti del database solo i gruppi che ne hanno bisogno
  • Utilizza indici, chiavi primarie, chiavi esterne, vincoli, statistiche e qualsiasi altro strumento supportato dal tuo database.Normalizzare.
  • Ottimizza il codice più comune rispetto alla tua macchina: procedure memorizzate/codici di accesso ai dati errati ti uccideranno.

Altri suggerimenti

Ci sono stato.Avevo un lavoro in cui scrivevo codice, facevo tutte le cose relative all'infrastruttura, indossavo il cappello DBA, fornivo supporto agli utenti, riparavo la cucitrice elettrica quando si inceppava e qualsiasi altra cosa che potesse essere remotamente associata all'IT.È stato fantastico!Ho imparato un po' di tutto.

Per quanto riguarda la cura e l'alimentazione della tua casella di database, ti consiglio di fare quanto segue:

  • Eseguire regolarmente backup completi.

  • Eseguire backup regolari del registro delle transazioni.

  • Monitora i tuoi processi di backup.Ci sono un sacco di utility sul mercato che sono relativamente economiche che possono automatizzarlo per te.In un piccolo negozio sei spesso troppo impegnato per ricordarti di controllarli ogni giorno.

  • Metti alla prova i tuoi backup.Fai un esercizio.Ripristina una vecchia copia dei tuoi database più importanti.Dimostra a te stesso che i tuoi backup funzionano e che sai come ripristinarli correttamente.Saresti sorpreso di quante persone pensino solo a questo durante il loro primo vero disastro.

  • Archivia i backup fuori sede.Con tutti i fornitori di backup online oggi disponibili, non ci sono molte scuse per non avere un backup fuori sede.

  • Limita l'accesso alle tue caselle.

  • Se la piattaforma del database lo supporta, utilizza solo la sicurezza basata sui ruoli.Resisti alla tentazione di avere una sicurezza specifica per l'utente una tantum.

L'idea di base qui è che se limiti chi ha accesso alla scatola, avrai meno problemi.In secondo luogo, se i backup sono solidi, potrebbero verificarsi alcuni problemi che non sarai in grado di gestire in modo efficace.

Io suggerirei:

  • Uno script per ripristinare rapidamente l'ultimo backup di un database, nel caso in cui venga danneggiato
  • Che tipo di backup stai facendo?Backup completi ogni giorno o incrementali ogni ora, ecc.?
  • Alcuni script per creare nuovi utenti e concedere loro l'accesso di base.

Tuttavia, il suggerimento numero uno è limitare il più possibile il potere di cui dispongono gli altri utenti, ciò ridurrà notevolmente la possibilità che le cose vengano gravemente incasinate.I server che hanno tutti come SA tendono a rovinarsi più velocemente dei server bloccati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top