Ogni tanto ricevo domande da DBA se posso dire perché l'applicazione Y esigenze autorizzazioni sysadmin. O perché ha bisogno di essere amministratore locale sulla scatola SQL, o perché il database deve essere denominato XYZ, o perché non sono ammessi altri database nell'istanza, o perché SQL Server 2000 è l'unico database supportati.
Queste domande sono tutte relative alla installazione maggior parte del tempo. In alcuni casi è possibile rimuovere i privilegi di amministratore di sistema dopo l'installazione, è possibile aggiungere altri database e si può spostare il database di SQL Server 2008 R2. A volte ricevo domande che sono diversi. Più simile, perché l'applicazione Y vuole fare è proprio indice o di manutenzione secondo il manuale dovremmo avere il 50% di spazio libero nel database. Ecco un elenco di queste domande e la mia vista su di esso.
- L'applicazione deve sysadmin (il più delle volte in combinazione con securityadmin, backupadmin e altri privilegi di admin) : Questa è una facile soluzione. E che significa anche! In qualità di DBA non c'è bisogno di essere amministratore di sistema. CONTROL SERVER vi darà più o meno gli stessi poteri e si può sempre elevare ad un account amministratore di sistema, se necessario. E se anche non siete sysadmin perché dovrebbe essere qualcun altro!
- L'applicazione necessari privilegi di amministratore locale : ho visto che questo accada in cui un'applicazione ha voluto collegare un database sulla casella SQL remoto durante l'installazione. Per fare questo si dovrebbe prima copiare i file nella directory di SQL. Per fare questo ha usato le condivisioni amministrative (c $, ecc.) Condivisioni amministrative è possibile accedere solo da .. sì, gli amministratori. Ogni DBA dovrebbe essere in grado di collegare un database. Utilizzare questo!
- Nessun altro database è consentito per l'istanza : Non ci sono scuse per questo. Sono un grande fan di consolidamento. Consolidando i database SQL si hanno meno casi da gestire e meno licenze. Perché mai fare applicazione controllare su questo?
- Il database deve essere denominato XYZ : Ok. Io non sono uno sviluppatore vero e proprio ma come può essere difficile mettere il nome del database in un file di configurazione? Ho visto le applicazioni con i nomi di database hardcoded o applicazioni che avrebbe risolto il nome del computer per l'indirizzo IP. Basta accertarsi che l'applicazione funziona quando il DNS non è così. Fino a quando si modifica l'indirizzo IP del corso.
- SQL 200x è l'unica versione supportata : Certo che lo è. Perché si mette nel codice: "Se db-versione non è uguale a 2000 applicazioni FAIL".. L'unico scopo è anche fare in modo di eseguire l'aggiornamento alla versione successiva. Ok, che dipende, ma il più delle volte non c'è bisogno di rimanere su versioni precedenti.
- Non c'è bisogno di deframmentare gli indici, l'applicazione è prendersi cura di esso : E 'uno difficile.Non mi piacciono le applicazioni che verificare se gli indici vengono eliminati o creati e cambiamento che torna ai valori predefiniti. La necessità di un indice può variare nel tempo o in base al carico di lavoro effettivo. Per la deframmentazione degli indici può essere vero che l'applicazione sa meglio quando a farlo. La ricostruzione o la riorganizzazione degli indici farà uso delle risorse. Questo può essere serrature, sia essa breve o lungo, ma può essere. Forse ci sono le tabelle che non possono essere bloccati o che hanno un grave impatto delle prestazioni quando è bloccata. Questa sarebbe una situazione in cui l'applicazione conosce meglio. D'altra parte, se l'applicazione non funziona e si può incolpare gli indici frammentati Sono sicuro che altri amministratori vi permetterà di deframmentare gli indici. Ma sempre cercare di scoprire perché le decisioni vengono prese, non basta seguire il manuale.
- Database non deve essere impostato su Aumento automatico : ci sono manuali che solo affermare che. Nessun contesto di sorta. E concordato, come una best practice non si dovrebbe mai lasciare che i database aumento automatico delle dimensioni. Voi come un DBA dovrebbe identificare le tendenze e crescere file di database prima del tempo durante le Aumento automatico hours.But può anche essere l'ultima risorsa. Cosa succede se un database sta crescendo più rapidamente del previsto? Almeno assicurarsi che siete a conoscenza di crescite auto e correggere questi, se necessario. Specialmente per file di log del database. Idealmente questi non dovrebbero mai crescere.
- I file di database bisogno di avere il 50% di spazio libero : Ok. Perché? 50% può essere qualsiasi cosa, 50MB, 50GB o addirittura 50TB. Se non avete una operazione che ha bisogno di più spazio per inciso, solo calcolare lo spazio necessario o mostrare il calcolo. Mantenere da 50 GB di spazio libero non è efficiente e non mancherà di tenere la maggior parte amministratori SAN urlare tutti occupano spazio e non lo si utilizza. Non c'è spazio su disco illimitato e dovrebbe essere usata con saggezza.
La maggior parte delle volte il DBA conosce meglio. E un DBA è prendersi cura di più database che uno solo. E tutti devono essere gestibili con procedure standardizzate. Un database di SharePoint le migliori pratiche o di un Centro di pratica Sistema migliori database non sono sempre una best practice DBA. Dovrebbe essere una discussione aperta dove tutti dovrebbero avere un chiaro punto di vista di ciò che è necessario e perché."Perché il manuale dice così" non è un motivo valido!
La risposta: "Dipende".. Come sempre con SQL Server non c'è giusto o sbagliato (a meno che la contrazione dei file di database, che è sbagliato). Ci sono buone pratiche e queste devono essere seguite il più possibile. Ma se si sa cosa si sta facendo si può prendere la strada meno percorsa.
Nessun commento:
Posta un commento
Nota. Solo i membri di questo blog possono postare un commento.