Comment vérifier la version de SQL Server en utilisant PowerShell

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

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 de sqlcmd.

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 :

  1. -ServerInstance est une option qui indique le serveur et l’instance auxquels nous voulons nous connecter.

  2. "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.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
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