Come controllare la versione di SQL Server utilizzando PowerShell

  1. Usa l’utilità sqlcmd per controllare la versione del SQL Server in PowerShell
  2. Vantaggi e Svantaggi dell’Utilizzo dell’Utilità sqlcmd
  3. Usa il Cmdlet Invoke-Sqlcmd per Controllare la Versione del SQL Server Utilizzando PowerShell
  4. Vantaggi e Svantaggi dell’Utilizzo del Cmdlet Invoke-Sqlcmd per Controllare la Versione del SQL Server in PowerShell
  5. Differenza Tra l’Utilità sqlcmd e il Cmdlet Invoke-Sqlcmd
  6. Conclusione
Come controllare la versione di SQL Server utilizzando PowerShell

Controllare la versione di un programma è una delle operazioni comuni che puoi fare in PowerShell. Se stai usando il Microsoft SQL server per gestire database relazionali, è importante sapere quale versione è installata sul tuo computer.

Questo tutorial introdurrà due metodi per controllare la versione del SQL server con PowerShell.

Usa l’utilità sqlcmd per controllare la versione del SQL Server in PowerShell

Il sqlcmd è un’utilità da riga di comando che ti consente di eseguire dichiarazioni e script Transact-SQL interattivi. Aiuta ad automatizzare i compiti di scripting Transact-SQL.

Sintassi:

sqlcmd -S ServerName\InstanceName -Q "SQL Query"

Nella sintassi sopra, sostituiamo ServerName con il nome del tuo SQL Server, InstanceName con il nome della tua istanza SQL Server e "SQL Query" con la specifica query SQL che desideri eseguire.

Il seguente comando stampa la versione del SQL server in PowerShell. DelftStack è il nome del server, e SQLEXPRESS è il nome dell’istanza del nostro SQL server.

sqlcmd -S DelftStack\SQLEXPRESS -Q "SELECT @@VERSION"

Stiamo usando l’utilità sqlcmd, che è uno strumento da riga di comando per eseguire comandi e script Transact-SQL. È un modo per interagire con SQL Server dalla riga di comando.

Usando -S DelftStack\SQLEXPRESS, stiamo specificando il server e l’istanza a cui vogliamo connetterci. DelftStack è il nome del server e SQLEXPRESS è il nome dell’istanza, e questa combinazione identifica il specifico SQL Server che vogliamo interrogare.

La parte -Q "SELECT @@VERSION" del comando istruisce SQL Server a eseguire una query SQL. In questo caso, stiamo richiedendo al SQL Server di recuperare le informazioni sulla sua versione.

La query SELECT @@VERSION è un comando integrato di SQL Server che restituisce informazioni dettagliate sulla versione.

Output:

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
    Sep 24 2019 13:48:23
    Copyright (C) 2019 Microsoft Corporation
    Express Edition (64-bit) on Windows 10 Home Single Language 10.0 <X64> (Build 22000: )

(1 rows affected)

L’output mostra informazioni dettagliate sulla versione del SQL Server, inclusi i dettagli di rilascio e build. Mostra che la versione installata del SQL server è 15.0.2000.5.

È importante notare che l’utilità sqlcmd deve essere già installata e accessibile nel PATH del sistema. Se non è installata o non è accessibile, il comando fallirà.

Per installare sqlcmd in PowerShell, devi installare le Utilità da Riga di Comando di SQL Server, che includono sqlcmd.

Ecco i passaggi per installare sqlcmd:

  • Scarica le Utilità da Riga di Comando di SQL Server

    Visita la pagina di download di Microsoft SQL Server. Scorri verso il basso fino alla sezione "Installa gli strumenti da riga di comando di SQL Server" e fai clic sul link di download per "Microsoft Command Line Utilities 15 for SQL Server" (o la versione appropriata per le tue esigenze).

  • Esegui l’Installatore

    Esegui l’installer scaricato (di solito un file .msi). Segui le istruzioni della procedura guidata di installazione.

  • Seleziona Componenti

    Durante l’installazione, ti verrà chiesto di selezionare i componenti. Assicurati di selezionare "Command Line Utilities" o "sqlcmd" specificamente.

  • Completa l’Installazione

    Continua attraverso il processo di installazione, e una volta completato, avrai sqlcmd installato sul tuo sistema.

  • Verifica l’Installazione

    Apri la finestra del prompt dei comandi e digita sqlcmd. Se è installato correttamente, dovresti vedere il prompt di sqlcmd.

Tieni presente che a seconda della versione di SQL Server, i passaggi particolari e il nome dell’installer potrebbero differire e il pacchetto di installazione che scegli. Assicurati di selezionare i componenti appropriati durante l’installazione per garantire che sqlcmd venga incluso.

Inoltre, il nome del server e il nome dell’istanza forniti nel comando devono essere validi e accessibili. Se sono errati o inaccessibili, il comando fallirà.

Vantaggi e Svantaggi dell’Utilizzo dell’Utilità sqlcmd

Vantaggi:

  • Controllo da riga di comando per scripting e automazione.
  • Nessuna necessità di installare un modulo aggiuntivo.
  • Ampio supporto tra le versioni di SQL Server.

Svantaggi:

  • L’output può essere meno intuitivo per l’utente, richiedendo ulteriori elaborazioni.
  • Funzionalità limitate rispetto a Invoke-Sqlcmd.

Usa il Cmdlet Invoke-Sqlcmd per Controllare la Versione del SQL Server Utilizzando PowerShell

Il cmdlet Invoke-Sqlcmd esegue gli script e i comandi supportati dall’utilità SQLCMD di SQL Server. Accetta dichiarazioni e comandi Transact-SQL come GO e QUIT.

Sintassi:

Invoke-Sqlcmd -query "SQL Query" -ServerInstance "ServerName\InstanceName"

Nella sintassi sopra, sostituiamo "SQL Query" con la specifica query SQL che desideri eseguire e "ServerName\InstanceName" con il nome del server e dell’istanza di SQL Server a cui desideri connetterti. Questo comando viene utilizzato per eseguire query SQL all’interno di PowerShell ed è particolarmente utile per integrare compiti di SQL Server in script PowerShell.

Il seguente comando ottiene la versione del SQL server in PowerShell.

Invoke-Sqlcmd -query "SELECT @@VERSION" -ServerInstance "DELFT-PC\SQLEXPRESS"

Stiamo utilizzando il cmdlet Invoke-Sqlcmd, che è parte di PowerShell ed è specificamente progettato per interagire con SQL Server. Ci consente di eseguire comandi e query SQL direttamente all’interno di uno script PowerShell o sessione.

La parte -query "SELECT @@VERSION" del comando specifica la query SQL che vogliamo eseguire. In questo caso, stiamo eseguendo la query SQL SELECT @@VERSION, e questa query è un comando integrato di SQL Server che recupera informazioni dettagliate sulla versione del SQL Server a cui è connesso.

Usando -ServerInstance "DELFT-PC\SQLEXPRESS", stiamo definendo il server e l’istanza a cui connetterci con i seguenti componenti:

  1. -ServerInstance è un’opzione che indica il server e l’istanza a cui vogliamo connetterci.

  2. "DELFT-PC\SQLEXPRESS" è il nome del server e il nome dell’istanza combinati. "DELFT-PC" rappresenta il nome del SQL Server, e "SQLEXPRESS" rappresenta la specifica istanza di SQL Server installata su quella macchina, e questa combinazione specifica il SQL Server esatto che vogliamo interrogare.

Output:

Column1
-------
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) ...

L’output sopra ci fornisce informazioni dettagliate sulla versione del SQL Server, inclusi dettagli di rilascio e build.

Se il cmdlet Invoke-Sqlcmd non viene riconosciuto, devi installarlo utilizzando il comando qui sotto:

Install-Module SqlServer

Quindi, esegui questo comando per importare il modulo.

Import-Module SqlServer

Questo approccio è conveniente per integrare i compiti di SQL Server in script PowerShell e sfruttare la potenza di PowerShell per la manipolazione e l’automazione dei dati.

È importante notare che il cmdlet Invoke-Sqlcmd è già disponibile nella sessione PowerShell attuale. Se il modulo richiesto non è importato, il codice fallirà con un errore.

Inoltre, se l’istanza SQL Server specificata ("DELFT-PC\SQLEXPRESS") è errata o inaccessibile, il codice non riuscirà a connettersi ed eseguire la query.

Vantaggi e Svantaggi dell’Utilizzo del Cmdlet Invoke-Sqlcmd per Controllare la Versione del SQL Server in PowerShell

Vantaggi:

  • Integrazione senza soluzione di continuità con PowerShell per scripting avanzato.
  • Output più strutturato e intuitivo per l’utente.
  • Un’ampia gamma di funzionalità per compiti complessi sui database.

Svantaggi:

  • Richiede l’installazione del modulo SqlServer.
  • La compatibilità con le versioni di SQL Server può variare.

Differenza Tra l’Utilità sqlcmd e il Cmdlet Invoke-Sqlcmd

La principale differenza tra i due metodi, utilizzando l’utilità sqlcmd e il cmdlet Invoke-Sqlcmd, per controllare la versione del SQL Server in PowerShell può essere riassunta in termini del loro approccio, integrazione e usabilità.

La distinzione chiave risiede nel fatto che sqlcmd è un’utilità esterna con un’integrazione limitata in PowerShell. Funziona come uno strumento da riga di comando separato e, sebbene possa essere utilizzato all’interno di script PowerShell, non offre lo stesso livello di integrazione e flessibilità di Invoke-Sqlcmd.

D’altra parte, Invoke-Sqlcmd è un cmdlet nativo di PowerShell progettato specificamente per interagire con SQL Server. Offre un approccio più potente e integrato per gestire i dati di SQL Server all’interno di script PowerShell, e questo cmdlet consente un’integrazione senza soluzione di continuità con PowerShell, un output strutturato e avanzate capacità di manipolazione dei dati.

Conclusione

Questo tutorial esplora due metodi per controllare la versione del SQL Server in PowerShell: utilizzando l’utilità sqlcmd e il cmdlet Invoke-Sqlcmd.

L’utilità sqlcmd, uno strumento da riga di comando, offre controllo da riga di comando e non richiede installazioni di moduli aggiuntivi. Tuttavia, il suo output può richiedere ulteriori elaborazioni e ha funzionalità limitate rispetto a Invoke-Sqlcmd.

Il cmdlet Invoke-Sqlcmd, uno strumento nativo di PowerShell, fornisce integrazione senza soluzione di continuità con PowerShell, output strutturato e intuitivo per l’utente e un’ampia gamma di funzionalità di SQL Server. Richiede però l’installazione del modulo SqlServer.

Come buona pratica, dovremmo essere consapevoli che i nomi del software e del modulo possono cambiare nel tempo, e è essenziale verificare il nome del modulo e la versione in base al loro ambiente attuale. Questo garantisce che il codice e i metodi forniti rimangano pertinenti e funzionali.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website