Se dovessi nominare uno strumento che consiglio anzi che ritengo essenziale nel lavoro di tutti i giorni come DBA SQL Server non posso fare altro che menzionare dbatools.
dbatools è un modulo Powershell: lo possiamo immaginare come un Management Studio a riga di comando. Nato come semplice script per semplificare attività di migrazione tra istanze nel tempo è cresciuto raggiungendo ormai alla versione 2.1.8 ad un set di più di 500 comandi per le più disparate attività .
dbatools è attivamente supportato dalla community di professionisti e appassionati di SQL Server, riceve aggiornamenti costanti e quasi tutti i comandi (dove applicabile) sono compatibili o dedicati a istanze Azure.
Cos’è Powershell?
Prima di parlare delle caratteristiche principali di dbatools facciamo un passo indietro, abbiamo detto che è un modulo di Powershell: di cosa si tratta?
Powershell è un ambiente command-line crossplatform (Windows, Linux e macOs) nato principalmente per automatizzare processi tramite comandi e/o script in un linguaggio proprietario, è gratuito e facilmente installabile nei vari ambienti.
Per fare un facile paragone lo possiamo immagine come una naturale evoluzione del Command Prompt di Windows dal quale si discosta con un set di migliorie ed estensioni:
Robusta command-line history
Auto completamento e prediction attraverso il tasto TAB
Supporto alias sia per i comandi che per i parametri
Pipeline per concatenazione dei comandi
In-console help, similare alle man pages di Unix
Linguaggio di scripting ampiamente migliorato
Integrazione con il framework .Net
Installazione di dbatools
Dbatools ha come requisito minimo Powershell v3, ma il consiglio e di installare la versione più recente (al momento v7.4). Powershell è un prodotto Microsoft supportato ufficialmente e gratuito, solitamente le installazioni standard di Windows installano di default la versione 5.
Il modulo è facilmente installabile tramite il comando:
Install - Module dbatools - Scope CurrentUser
Qualora non fosse disponibile la connessione internet sono presenti in rete comunque vari tutorial per l’installazione offline.Come si utilizza dbatools
dbatools, come detto, è un insieme di comandi che posso essere eseguiti uno per volta o concatenati per ottenere il risultato desiderato.
Una volta aperta una sessione di Powershell si compila il comando desiderato fornendo i parametri richiesti e eseguendolo con Invio:
Nell’esempio in figura, per esempio, ho richiesto l’estrazione di tutti i database presenti nell’istanza locale dove Powershell è installata. La parte in giallo GetDbaDatabase è il comando, successivamente in grigio abbiamo un parametro (-SqlInstance) e dopo lo spazio la valorizzazione del parametro (localhost).
Subito sotto come risultato abbiamo l’output del comando che consiste in una lista di valori (proprietà ) per ogni oggetto (database in questo caso) rilevati nell’istanza.Ogni comando ha quindi la sua lista di parametri e produce il suo output specifico.
Fonte notizia
www.datamaze.it blogs post dbatools-sql-server