Cómo comprobar la versión de SQL Server utilizando PowerShell

  1. Usa la utilidad sqlcmd para comprobar la versión del servidor SQL en PowerShell
  2. Ventajas y Desventajas de Usar la Utilidad sqlcmd
  3. Usa el Cmdlet Invoke-Sqlcmd para Comprobar la Versión del Servidor SQL Usando PowerShell
  4. Ventajas y Desventajas de Usar el Cmdlet Invoke-Sqlcmd para Comprobar la Versión del Servidor SQL en PowerShell
  5. Diferencia Entre la Utilidad sqlcmd y el Cmdlet Invoke-Sqlcmd
  6. Conclusión
Cómo comprobar la versión de SQL Server utilizando PowerShell

Verificar la versión de un programa es una de las operaciones comunes que puedes realizar en PowerShell. Si estás utilizando el servidor Microsoft SQL para gestionar bases de datos relacionales, es importante saber qué versión está instalada en tu computadora.

Este tutorial presentará dos métodos para comprobar la versión del servidor SQL con PowerShell.

Usa la utilidad sqlcmd para comprobar la versión del servidor SQL en PowerShell

El sqlcmd es una utilidad de línea de comandos que te permite ejecutar declaraciones y scripts Transact-SQL interactivos. Ayuda a automatizar tareas de scripting Transact-SQL.

Sintaxis:

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

En la sintaxis anterior, reemplazamos ServerName con el nombre de tu servidor SQL, InstanceName con el nombre de tu instancia de servidor SQL y "SQL Query" con la consulta SQL específica que deseas ejecutar.

El siguiente comando imprime la versión del servidor SQL en PowerShell. DelftStack es el nombre del servidor y SQLEXPRESS es el nombre de la instancia de nuestro servidor SQL.

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

Estamos utilizando la utilidad sqlcmd, que es una herramienta de línea de comandos para ejecutar comandos y scripts Transact-SQL. Es una forma de interactuar con SQL Server desde la línea de comandos.

Usando -S DelftStack\SQLEXPRESS, estamos especificando el servidor y la instancia a los que queremos conectarnos. DelftStack es el nombre del servidor, y SQLEXPRESS es el nombre de la instancia, y esta combinación identifica el servidor SQL específico al que queremos consultar.

La parte -Q "SELECT @@VERSION" del comando instruye al servidor SQL para ejecutar una consulta SQL. En este caso, estamos solicitando al servidor SQL que recupere su información de versión.

La consulta SELECT @@VERSION es un comando incorporado de SQL Server que devuelve información detallada sobre la versión.

Salida:

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 salida muestra información detallada sobre la versión del servidor SQL, incluyendo la información de lanzamiento y compilación. Muestra que la versión instalada del servidor SQL es 15.0.2000.5.

Es importante notar que la utilidad sqlcmd debe estar ya instalada y accesible en el PATH del sistema. Si no está instalada o no es accesible, el comando fallará.

Para instalar sqlcmd en PowerShell, necesitas instalar las Utilidades de Línea de Comandos de SQL Server, que incluyen sqlcmd.

Aquí están los pasos para instalar sqlcmd:

  • Descargar las Utilidades de Línea de Comandos de SQL Server

    Visita la página de descargas de SQL Server de Microsoft. Desplázate hacia abajo hasta la sección "Instalar las herramientas de línea de comandos de SQL Server" y haz clic en el enlace de descarga para "Microsoft Command Line Utilities 15 for SQL Server" (o la versión apropiada para tus necesidades).

  • Ejecutar el Instalador

    Ejecuta el instalador descargado (generalmente un archivo .msi). Sigue las instrucciones del asistente de instalación.

  • Seleccionar Componentes

    Durante la instalación, se te pedirá que selecciones componentes. Asegúrate de seleccionar "Command Line Utilities" o "sqlcmd" específicamente.

  • Completar la Instalación

    Continúa a través del proceso de instalación, y una vez que se complete, tendrás sqlcmd instalado en tu sistema.

  • Verificar la Instalación

    Abrir la ventana de símbolo del sistema y escribe sqlcmd. Si está instalado correctamente, deberías ver el indicador de sqlcmd.

Ten en cuenta que dependiendo de la versión del servidor SQL, los pasos específicos y el nombre del instalador pueden variar, así como el paquete de instalación que elijas. Asegúrate de seleccionar los componentes apropiados durante la instalación para garantizar que sqlcmd esté incluido.

Además, el nombre del servidor y el nombre de la instancia proporcionados en el comando deben ser válidos y accesibles. Si son incorrectos o inaccesibles, el comando fallará.

Ventajas y Desventajas de Usar la Utilidad sqlcmd

Ventajas:

  • Control de línea de comandos para scripting y automatización.
  • No es necesario instalar un módulo adicional.
  • Amplio soporte en versiones de SQL Server.

Desventajas:

  • La salida puede ser menos amigable para el usuario, requiriendo un análisis adicional.
  • Funciones limitadas en comparación con Invoke-Sqlcmd.

Usa el Cmdlet Invoke-Sqlcmd para Comprobar la Versión del Servidor SQL Usando PowerShell

El cmdlet Invoke-Sqlcmd ejecuta los scripts y comandos soportados por la utilidad SQLCMD de SQL Server. Acepta declaraciones y comandos Transact-SQL como GO y QUIT.

Sintaxis:

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

En la sintaxis anterior, reemplazamos "SQL Query" con la consulta SQL específica que deseas ejecutar y "ServerName\InstanceName" con el nombre del servidor y la instancia del servidor SQL al que deseas conectarte. Este comando se utiliza para ejecutar consultas SQL desde dentro de PowerShell y es particularmente útil para integrar tareas de SQL Server en scripts de PowerShell.

El siguiente comando obtiene la versión del servidor SQL en PowerShell.

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

Estamos utilizando el cmdlet Invoke-Sqlcmd, que es parte de PowerShell y está diseñado específicamente para interactuar con SQL Server. Nos permite ejecutar comandos y consultas SQL directamente desde dentro de un script o sesión de PowerShell.

La parte -query "SELECT @@VERSION" del comando especifica la consulta SQL que queremos ejecutar. En este caso, estamos ejecutando la consulta SQL SELECT @@VERSION, y esta consulta es un comando incorporado de SQL Server que recupera información detallada sobre la versión del SQL Server al que está conectado.

Usando -ServerInstance "DELFT-PC\SQLEXPRESS", estamos definiendo el servidor y la instancia a los que conectarnos con los siguientes componentes:

  1. -ServerInstance es una opción que indica el servidor y la instancia a los que deseamos conectarnos.

  2. "DELFT-PC\SQLEXPRESS" es el nombre del servidor y el nombre de la instancia combinados. "DELFT-PC" representa el nombre del servidor SQL, y "SQLEXPRESS" representa la instancia específica de SQL Server instalada en esa máquina, y esta combinación especifica el SQL Server exacto al que queremos consultar.

Salida:

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

La salida anterior nos proporciona información detallada sobre la versión del servidor SQL, incluidos los detalles de lanzamiento y compilación.

Si el cmdlet Invoke-Sqlcmd no es reconocido, debes instalarlo usando el siguiente comando:

Install-Module SqlServer

Luego, ejecuta este comando para importar el módulo.

Import-Module SqlServer

Este enfoque es conveniente para integrar tareas de SQL Server en scripts de PowerShell y aprovechar el poder de PowerShell para la manipulación y automatización de datos.

Es importante notar que el cmdlet Invoke-Sqlcmd ya está disponible en la sesión actual de PowerShell. Si el módulo requerido no está importado, el código fallará con un error.

Además, si la instancia del servidor SQL especificada ("DELFT-PC\SQLEXPRESS") es incorrecta o inaccesible, el código fallará en conectarse y ejecutar la consulta.

Ventajas y Desventajas de Usar el Cmdlet Invoke-Sqlcmd para Comprobar la Versión del Servidor SQL en PowerShell

Ventajas:

  • Integración fluida con PowerShell para scripting avanzado.
  • Salida más estructurada y amigable para el usuario.
  • Un conjunto rico de características para tareas complejas de bases de datos.

Desventajas:

  • Requiere la instalación del módulo SqlServer.
  • La compatibilidad con versiones de SQL Server puede variar.

Diferencia Entre la Utilidad sqlcmd y el Cmdlet Invoke-Sqlcmd

La principal diferencia entre los dos métodos, utilizando la utilidad sqlcmd y el cmdlet Invoke-Sqlcmd, para comprobar la versión del servidor SQL en PowerShell se puede resumir en términos de su enfoque, integración y usabilidad.

La distinción clave radica en el hecho de que sqlcmd es una utilidad externa con integración limitada en PowerShell. Funciona como una herramienta de línea de comandos separada, y aunque se puede usar dentro de scripts de PowerShell, no proporciona el mismo nivel de integración y flexibilidad que Invoke-Sqlcmd.

Por otro lado, Invoke-Sqlcmd es un cmdlet nativo de PowerShell diseñado específicamente para interactuar con SQL Server. Ofrece un enfoque más poderoso e integrado para gestionar datos de SQL Server dentro de scripts de PowerShell, y este cmdlet permite una integración fluida con PowerShell, salida estructurada y capacidades avanzadas de manipulación de datos.

Conclusión

Este tutorial explora dos métodos para comprobar la versión del servidor SQL en PowerShell: utilizando la utilidad sqlcmd y el cmdlet Invoke-Sqlcmd.

La utilidad sqlcmd, una herramienta de línea de comandos, ofrece control de línea de comandos y no requiere instalaciones adicionales de módulos. Sin embargo, su salida puede requerir un análisis adicional y tiene funciones limitadas en comparación con Invoke-Sqlcmd.

El cmdlet Invoke-Sqlcmd, una herramienta nativa de PowerShell, proporciona integración fluida con PowerShell, salida estructurada y amigable para el usuario, y un amplio rango de características de SQL Server. Sin embargo, requiere la instalación del módulo SqlServer.

Como mejor práctica, debemos ser conscientes de que los nombres de software y módulos pueden cambiar con el tiempo, y es esencial verificar el nombre del módulo y la versión según su entorno actual. Esto asegura que el código y los métodos proporcionados permanezcan relevantes y funcionales.

¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
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