Comment vérifier la version de SQL Server en utilisant PowerShell
-
Utiliser l’utilitaire
sqlcmd
pour vérifier la version du serveur SQL dans PowerShell -
Avantages et inconvénients de l’utilisation de l’utilitaire
sqlcmd
-
Utiliser le cmdlet
Invoke-Sqlcmd
pour vérifier la version du serveur SQL à l’aide de PowerShell -
Avantages et inconvénients de l’utilisation du cmdlet
Invoke-Sqlcmd
pour vérifier la version du serveur SQL dans PowerShell -
Différence entre l’utilitaire
sqlcmd
et le cmdletInvoke-Sqlcmd
- Conclusion

Vérifier la version d’un programme est l’une des opérations courantes que vous pouvez effectuer dans PowerShell. Si vous utilisez le serveur Microsoft SQL pour gérer des bases de données relationnelles, il est important de savoir quelle version est installée sur votre ordinateur.
Ce tutoriel va présenter deux méthodes pour vérifier la version du serveur SQL avec PowerShell.
Utiliser l’utilitaire sqlcmd
pour vérifier la version du serveur SQL dans PowerShell
Le sqlcmd
est un utilitaire en ligne de commande qui vous permet d’exécuter des instructions et des scripts Transact-SQL de manière interactive. Il aide à automatiser les tâches de script Transact-SQL.
Syntaxe :
sqlcmd -S ServerName\InstanceName -Q "SQL Query"
Dans la syntaxe ci-dessus, nous remplaçons ServerName
par le nom de votre serveur SQL, InstanceName
par le nom de votre instance SQL Server, et "SQL Query"
par la requête SQL spécifique que vous souhaitez exécuter.
La commande suivante imprime la version du serveur SQL dans PowerShell. Le DelftStack
est le nom du serveur, et le SQLEXPRESS
est le nom de notre instance de serveur SQL.
sqlcmd -S DelftStack\SQLEXPRESS -Q "SELECT @@VERSION"
Nous utilisons l’utilitaire sqlcmd
, qui est un outil en ligne de commande pour exécuter des commandes et scripts Transact-SQL. C’est une façon d’interagir avec SQL Server depuis la ligne de commande.
En utilisant -S DelftStack\SQLEXPRESS
, nous spécifions le serveur et l’instance auxquels nous voulons nous connecter. DelftStack
est le nom du serveur, et SQLEXPRESS
est le nom de l’instance, et cette combinaison identifie le serveur SQL spécifique que nous voulons interroger.
La partie -Q "SELECT @@VERSION"
de la commande demande au serveur SQL d’exécuter une requête SQL. Dans ce cas, nous demandons au serveur SQL de récupérer ses informations de version.
La requête SELECT @@VERSION
est une commande intégrée au serveur SQL qui retourne des informations détaillées sur la version.
Sortie :
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)
La sortie affiche des informations détaillées sur la version du serveur SQL, y compris les informations de version et de build. Elle montre que la version installée du serveur SQL est 15.0.2000.5
.
Il est important de noter que l’utilitaire sqlcmd
doit déjà être installé et accessible dans le PATH du système. S’il n’est pas installé ou accessible, la commande échouera.
Pour installer sqlcmd
dans PowerShell, vous devez installer les utilitaires en ligne de commande SQL Server, qui incluent sqlcmd
.
Voici les étapes pour installer sqlcmd
:
-
Télécharger les utilitaires en ligne de commande SQL Server
Rendez-vous sur la page de téléchargement de Microsoft SQL Server page. Faites défiler vers le bas jusqu’à la section
"Installer les outils en ligne de commande SQL Server"
et cliquez sur le lien de téléchargement pour"Microsoft Command Line Utilities 15 for SQL Server"
(ou la version appropriée pour vos besoins). -
Exécuter l’installateur
Exécutez l’installateur téléchargé (habituellement un fichier
.msi
). Suivez les instructions de l’assistant d’installation. -
Sélectionner les composants
Pendant l’installation, vous serez invité à sélectionner des composants. Assurez-vous de sélectionner
"Command Line Utilities"
ou"sqlcmd"
spécifiquement. -
Terminer l’installation
Poursuivez le processus d’installation, et une fois terminé, vous aurez
sqlcmd
installé sur votre système. -
Vérifier l’installation
Ouvrez la fenêtre d’invite de commande et tapez
sqlcmd
. S’il est correctement installé, vous devriez voir l’invite desqlcmd
.
Gardez à l’esprit qu’en fonction de la version de SQL Server, les étapes particulières et le nom de l’installateur peuvent différer ainsi que le paquet d’installation que vous choisissez. Assurez-vous de sélectionner les composants appropriés lors de l’installation pour garantir que sqlcmd
est inclus.
De plus, le nom du serveur et le nom de l’instance fournis dans la commande doivent être valides et accessibles. S’ils sont incorrects ou inaccessibles, la commande échouera.
Avantages et inconvénients de l’utilisation de l’utilitaire sqlcmd
Avantages :
- Contrôle en ligne de commande pour le scripting et l’automatisation.
- Pas besoin d’installer un module supplémentaire.
- Large prise en charge à travers les versions de SQL Server.
Inconvénients :
- La sortie peut être moins conviviale, nécessitant un traitement supplémentaire.
- Fonctionnalités limitées par rapport à
Invoke-Sqlcmd
.
Utiliser le cmdlet Invoke-Sqlcmd
pour vérifier la version du serveur SQL à l’aide de PowerShell
Le cmdlet Invoke-Sqlcmd
exécute les scripts et les commandes pris en charge par l’utilitaire SQLCMD du serveur SQL. Il accepte des instructions et des commandes Transact-SQL telles que GO
et QUIT
.
Syntaxe :
Invoke-Sqlcmd -query "SQL Query" -ServerInstance "ServerName\InstanceName"
Dans la syntaxe ci-dessus, nous remplaçons "SQL Query"
par la requête SQL spécifique que vous souhaitez exécuter et "ServerName\InstanceName"
par le nom du serveur et de l’instance du serveur SQL auquel vous souhaitez vous connecter. Cette commande est utilisée pour exécuter des requêtes SQL à partir de PowerShell et est particulièrement utile pour intégrer des tâches SQL Server dans des scripts PowerShell.
La commande suivante obtient la version du serveur SQL dans PowerShell.
Invoke-Sqlcmd -query "SELECT @@VERSION" -ServerInstance "DELFT-PC\SQLEXPRESS"
Nous utilisons le cmdlet Invoke-Sqlcmd
, qui fait partie de PowerShell et est spécifiquement conçu pour interagir avec SQL Server. Il nous permet d’exécuter des commandes et des requêtes SQL directement depuis un script ou une session PowerShell.
La partie -query "SELECT @@VERSION"
de la commande spécifie la requête SQL que nous voulons exécuter. Dans ce cas, nous exécutons la requête SQL SELECT @@VERSION
, et cette requête est une commande intégrée au serveur SQL qui récupère des informations détaillées sur la version du serveur SQL auquel il est connecté.
En utilisant -ServerInstance "DELFT-PC\SQLEXPRESS"
, nous définissons le serveur et l’instance auxquels nous voulons nous connecter avec les composants suivants :
-
-ServerInstance
est une option qui indique le serveur et l’instance auxquels nous voulons nous connecter. -
"DELFT-PC\SQLEXPRESS"
est le nom du serveur et le nom de l’instance combinés."DELFT-PC"
représente le nom du serveur SQL, et"SQLEXPRESS"
représente l’instance spécifique de SQL Server installée sur cette machine, et cette combinaison spécifie le serveur SQL exact que nous voulons interroger.
Sortie :
Column1
-------
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) ...
La sortie ci-dessus nous fournit des informations détaillées sur la version du serveur SQL, y compris les détails de version et de build.
Si le cmdlet Invoke-Sqlcmd
n’est pas reconnu, vous devez l’installer en utilisant la commande ci-dessous :
Install-Module SqlServer
Ensuite, exécutez cette commande pour importer le module.
Import-Module SqlServer
Cette approche est pratique pour intégrer des tâches SQL Server dans des scripts PowerShell et tirer parti de la puissance de PowerShell pour la manipulation et l’automatisation des données.
Il est important de noter que le cmdlet Invoke-Sqlcmd
est déjà disponible dans la session PowerShell en cours. Si le module requis n’est pas importé, le code échouera avec une erreur.
De plus, si l’instance de serveur SQL spécifiée ("DELFT-PC\SQLEXPRESS"
) est incorrecte ou inaccessible, le code échouera à se connecter et à exécuter la requête.
Avantages et inconvénients de l’utilisation du cmdlet Invoke-Sqlcmd
pour vérifier la version du serveur SQL dans PowerShell
Avantages :
- Intégration transparente avec PowerShell pour un scripting avancé.
- Sortie plus structurée et conviviale.
- Un ensemble de fonctionnalités riche pour des tâches de base de données complexes.
Inconvénients :
- Nécessite l’installation du module
SqlServer
. - La compatibilité avec les versions de SQL Server peut varier.
Différence entre l’utilitaire sqlcmd
et le cmdlet Invoke-Sqlcmd
La principale différence entre les deux méthodes, en utilisant l’utilitaire sqlcmd
et le cmdlet Invoke-Sqlcmd
, pour vérifier la version du serveur SQL dans PowerShell peut être résumée en termes de leur approche, d’intégration et d’utilisabilité.
La distinction clé réside dans le fait que sqlcmd
est un utilitaire externe avec une intégration limitée dans PowerShell. Il fonctionne comme un outil de ligne de commande séparé, et bien qu’il puisse être utilisé dans des scripts PowerShell, il ne fournit pas le même niveau d’intégration et de flexibilité que Invoke-Sqlcmd
.
D’autre part, Invoke-Sqlcmd
est un cmdlet natif de PowerShell conçu spécifiquement pour interagir avec SQL Server. Il offre une approche plus puissante et intégrée pour gérer les données SQL Server au sein des scripts PowerShell, et ce cmdlet permet une intégration transparente avec PowerShell, une sortie structurée et des capacités avancées de manipulation des données.
Conclusion
Ce tutoriel explore deux méthodes pour vérifier la version du serveur SQL dans PowerShell : en utilisant l’utilitaire sqlcmd
et le cmdlet Invoke-Sqlcmd
.
L’utilitaire sqlcmd
, un outil en ligne de commande, offre un contrôle en ligne de commande et ne nécessite pas d’installations de modules supplémentaires. Cependant, sa sortie peut nécessiter un traitement supplémentaire, et il a des fonctionnalités limitées par rapport à Invoke-Sqlcmd
.
Le cmdlet Invoke-Sqlcmd
, un outil natif de PowerShell, fournit une intégration transparente avec PowerShell, une sortie structurée et conviviale, et un large éventail de fonctionnalités de SQL Server. Il nécessite toutefois l’installation du module SqlServer
.
En tant que bonne pratique, nous devons être conscients que les noms de logiciels et de modules peuvent changer au fil du temps, et il est essentiel de vérifier le nom et la version du module en fonction de leur environnement actuel. Cela garantit que le code et les méthodes fournis restent pertinents et fonctionnels.