Analizzare l'ambiente di database

Completato

Si lavora come amministratore del database per uno studio legale e il responsabile vuole documentare tutti i database per decidere quali devono essere aggiornati. Si dovranno raccogliere le informazioni appropriate su ogni database. Sarà quindi possibile stabilire se eseguire l'aggiornamento di ogni database e quale versione di destinazione è più appropriata.

Si sa già che è disponibile un'ampia gamma di database eseguiti in SQL Server 2000, SQL Server 2005 e versioni successive. Alcuni di questi database sono amministrati dal reparto IT principale e dai relativi DBA. Altri sono stati creati e sono eseguiti da team locali con alcune competenze in materia di database sufficienti per soddisfare le esigenze specifiche del team. Alcuni di questi database sono ben documentati, mentre per altri non è disponibile alcuna documentazione.

Se l'obiettivo è aggiornare tutti i database a SQL Server 2019, sarà comunque necessario scegliere il percorso di aggiornamento migliore. Anche il budget influirà sulla versione e sull'edizione a cui è possibile eseguire l'aggiornamento. Potrebbero inoltre essere presenti versioni precedenti di SQL Server su hardware obsoleto, il che determina quali database è necessario aggiornare per primi. Potrebbe verificarsi un elevato rischio di sicurezza o di potenziali guasti dell'hardware sottostante.

Cosa è necessario documentare?

Gli amministratori spesso trascurano la documentazione dei sistemi all'interno di una società. Si tenta di avviare un controllo, ma lo si abbandona quando si presentano altre questioni più urgenti. Inoltre, spesso la documentazione viene completata e poi ignorata senza formulare alcun piano per gli aggiornamenti. Molte aziende rivisitano ripetutamente il processo. Tuttavia, senza uno strumento automatizzato o un'applicazione dedicata, i risultati vengono inseriti in un foglio di calcolo e si perdono in un file system o nel computer di un amministratore locale. I risultati vengono spesso eliminati quando l'utente passa a un altro ruolo.

Il modo in cui si svolgono le attività di documentazione, idealmente a intervalli regolari, dipende dal numero di istanze di SQL Server e dal numero e dalla varietà dei componenti installati. Una piccola organizzazione che ha poche istanze di SQL Server, con solo i servizi di base, potrebbe avere meno requisiti rispetto a un'azienda globale con molte più istanze.

Ottenere tutte le informazioni necessarie e usare un approccio coerente in tutti i database e le istanze. Questo tipo di controllo rivela spesso la presenza di database inutilizzati o sistemi di test in esecuzione in una licenza Enterprise che potrebbe essere sfruttata meglio in altro modo. Il controllo è un passaggio essenziale da eseguire prima dell'aggiornamento dei database. In questo modo si garantisce che nessun sistema venga dimenticato o migrato in modo errato, il che potrebbe causare tempi di inattività dei sistemi critici.

In questa sezione verranno illustrate le tre aree principali per pianificare un percorso di aggiornamento oltre a informazioni utili per definire la priorità degli aggiornamenti.

Versioni, funzionalità ed edizioni di SQL Server

Come si è già visto, una versione obsoleta e non supportata di SQL Server, ad esempio SQL Server 2000, richiede prima di tutto un aggiornamento a SQL Server 2008, perché le versioni successive non supportano questo livello di compatibilità. Un aggiornamento provvisorio consente quindi un secondo aggiornamento.

Le funzionalità variano a seconda delle versioni di destinazione valutate per l'aggiornamento. È possibile ritenere che alcuni database supportano applicazioni che non useranno le funzionalità avanzate disponibili nella versione più recente. Può sembrare plausibile eseguire l'aggiornamento a SQL Server 2016 anziché a SQL Server 2019. Sebbene questa azione sia adeguata, considerare il tempo che potrebbe trascorrere prima che il database richieda un aggiornamento. L'aggiornamento diretto alla versione più recente garantisce un intervallo di tempo maggiore prima che la versione non sia più supportata.

L'edizione di SQL Server scelta inoltre determina le funzionalità disponibili.

L'edizione SQL Server Developer offre tutte le funzionalità disponibili nell'edizione Enterprise, ma viene concessa in licenza a un costo inferiore per l'uso in un ambiente di sviluppo. Se il server di produzione è SQL Server Standard o Enterprise, scegliere sempre l'edizione Developer per creare e testare le applicazioni.

L'edizione SQL Server Standard offre un livello di base di gestione dei dati e business intelligence. Ideale per un uso operativo su scala ridotta, supporta le installazioni sia locali che cloud.

L'edizione SQL Server Enterprise è rivolta alle organizzazioni di dimensioni più grandi che gestiscono carichi di lavoro cruciali, spesso in un data center di livello avanzato. Con prestazioni ultraveloci e virtualizzazione illimitata, l'edizione Enterprise offre l'esperienza migliore per le tecnologie di business intelligence e data science avanzate.

Quando non è possibile decidere tra Standard e Enterprise, scegliere l'edizione Standard. Se è necessario eseguire l'aggiornamento in un secondo momento, è possibile estendere la licenza per l'edizione Enterprise.

Numero e dimensioni dei database

Per misurare il tempo necessario per l'aggiornamento dei database, è necessario conoscerne il numero e le dimensioni. Per i database di dimensioni maggiori è necessario più tempo per l'aggiornamento quindi, per limitare le interruzioni, eseguire l'aggiornamento quando il database non è in uso o quando l'attività è minima.

Per ogni database, prendere nota delle dimensioni dei dati e dei file di log, nonché del numero di oggetti di database, ad esempio tabelle, viste, stored procedure e funzioni. Raccogliendo statistiche sull'utilizzo dei database, sarà possibile scegliere l'edizione appropriata. I database in esecuzione in una versione Enterprise potrebbero non sfruttare appieno le funzionalità disponibili e potrebbe essere possibile spostarli in un'edizione Standard.

In questo modo, sarà possibile liberare spazio per spostare in un'edizione Enterprise i database il cui utilizzo è aumentato nel tempo o che potranno trarre vantaggio da funzionalità avanzate di business intelligence. Quando si conoscono le dimensioni dei database, si può determinare in quale istanza possono essere ospitati, a seconda delle risorse di destinazione.

Configurazione corrente e componenti installati

Ci saranno probabilmente differenze tra le istanze installate nell'ambiente, a seconda dello scopo del server. Dopo la connessione a ogni server, si vuole raccogliere dati come il sistema operativo, il numero di versione, l'architettura (32 bit o 64 bit) e il numero di processori.

Per documentare l'istanza di SQL Server, è necessario includere il nome del server, il nome dell'istanza, l'edizione, il numero di versione e il Service Pack (se presente) installato. È anche utile includere la sottodirectory in cui potrebbero essere archiviati i file di dati, i file di log e i backup.

Nell'ambito della pianificazione dell'aggiornamento prendere in considerazione tutti i componenti che sono stati installati in ogni istanza. Dopo la migrazione dei database delle applicazioni, assicurarsi che tutti i processi ETL, i data warehouse e i report siano pronti per supportare le attività aziendali. Controllare le installazioni di SSIS, SSRS e SSAS, Master Data Services (MDS), Data Quality Services (DQS) e R Services per SQL Server.

Che cos'è lo strumento Microsoft Assessment and Planning?

Anche un controllo di base dell'ambiente dei database richiede lavoro aggiuntivo ed è potenzialmente dispendioso in termini di tempo. Per molte organizzazioni, il controllo manuale dei database è un'attività che viene avviata spesso ma raramente portata a termine.

L'approccio migliore consiste nell'usare un processo automatizzato che eviti ripetizioni ed errori umani e restituisca risultati coerenti. Questo metodo viene usato in Microsoft Assessment and Planning (MAP) Toolkit, che include strumenti per l'individuazione e la documentazione delle istanze di SQL Server.

Screenshot of the Microsoft Assessment and Planning Toolkit.

Usare MAP per analizzare l'ambiente e ottenere i nomi delle istanze di SQL Server trovate, insieme alla versione, all'edizione e ai componenti installati. È possibile visualizzare questi dati graficamente per usare facilmente i risultati. MAP controlla anche il sistema operativo e l'hardware, le impostazioni delle istanze e le impostazioni per ogni database.

È possibile esportare tutti questi dati in Microsoft Excel per filtrare e visualizzare ulteriormente i risultati. Usando questi risultati, è possibile stabilire per quali database di destinazione è necessario un aggiornamento. Eseguire regolarmente il toolkit per individuare eventuali modifiche. È quindi possibile fare una segnalazione ai propri responsabili o rispondere rapidamente alle domande degli sviluppatori.

Come scegliere un metodo di individuazione

Lo studio legale usa una combinazione complessa di database ben documentati eseguiti da DBA professionali e database più piccoli, con documentazione minima o inesistente, eseguiti da persone con altri incarichi.

MAP è la soluzione ideale in tali circostanze. Poiché è in grado di individuare i database automaticamente, MAP consente di iniziare a documentare l'ambiente senza doversi rivolgere a tutte le persone che eseguono i database.

Il controllo dell'ambiente di database corrente e la valutazione del modo in cui vengono usati i database sono passaggi utili per definire una soluzione di aggiornamento appropriata. Il processo facilita la pianificazione di una migrazione, è utile per individuare i database non più in uso e consente di pulire l'ambiente di database.

In genere la maggior parte delle organizzazioni esegue l'individuazione dei database nell'ambiente solo quando necessario e la relativa documentazione è inesistente o non aggiornata. MAP Toolkit è la soluzione ideale per eseguire un controllo dell'ambiente, soprattutto quando si pensa di aggiornare i database. Rimuove le attività noiose e ripetitive che sottraggono tempo prezioso all'amministratore.