¿Cómo implementar paquetes de servicios de SQL Server de forma gratuita con PowerShell?

Como cualquier otra pieza de software, Microsoft SQL Server debe mantenerse actualizado. Microsoft lanza periódicamente paquetes de servicio para SQL Server que deben instalarse.

Para instalar un paquete de servicio, puedes conectarte a una consola remota de SQL Server, ejecutar el instalador y hacer clic en el asistente o puede hacerlo de manera sencilla.

Cada instalador de Service Pack para SQL Server admite instalaciones silenciosas. Este tipo de instalación permite utilizar la línea de comandos para iniciar una instalación.

Además, tambiénpermite automatizar el proceso de instalación del Service Pack en uno, decenas o cientos de servidores SQL a la vez.

Una vez que descubres cómo instalar un paquete de servicio de forma silenciosa a través de la línea de comandos, puedes crear una herramienta de automatización con PowerShell para implementar paquetes de servicio de manera rápida y eficiente.

Requisitos previos

Este artículo explica cómo implementar Service Packs de SQL Server con PowerShell desde una computadora remota. Para seguir, asegúrate de tener lo siguiente:

  • Un servidor SQL para actualizar (la versión no importa)

  • Permisos de usuario para instalar un paquete de servicio en SQL Server

  • PowerShell Remoting disponible en el SQL Server remoto

  • Se descargó un instalador de paquete de servicio (puede encontrar todos los paquetes de servicio aquí ).

  • Un conocimiento de nivel intermedio de secuencias de comandos de PowerShell

Si tienes todo en orden, ¡comencemos!

Para instalar un paquete de servicio de forma silenciosa y remota, se necesitan aproximadamente cinco pasos:

  1. Asegurar que el servidor no tenga un reinicio pendiente.

  2. Copiar el instalador del paquete de servicios en el servidor SQL remoto.

  3. Extraer el instalador comprimido.

  4. Iniciar el instalador en silencio.

  5. Limpiar el instalador.

Probar un reinicio pendiente

Debido a que un paquete de servicios no se puede instalar a menos que Windows Server no esté pendiente de un reinicio, debes verificar esta situación por adelantado. Una forma rápida de hacerlo es usar PowerShell.

Prefiero usar una función llamada Test-PendingReboot. Al apuntar esta función a un servidor, devuelve un verdadero/falso simple, lo que permite saber si el servidor está pendiente de reiniciar.

Copiar el instalador del paquete de servicios en el servidor SQL

A continuación, copia el instalador que descargaste de Microsoft en el servidor SQL remoto. Supón que la computadora desde la que estás copiando el instalador está en el mismo dominio de Active Directory que el servidor SQL.

Si ambas computadoras están en el mismo dominio de Active Directory, no necesitas preocuparte por proporcionar credenciales alternativas a tus comandos de PowerShell.

Suponiendo que el Service Pack está en tu disco duro local es C:SQLServerServicePacksSQL2016SP2.exe y tu SQL Server remoto se llamará SQLSRV, abre una consola de PowerShell y ejecuta:

Copy-Item -Path C:SQLServerServicePacksSQL2016SP2.exe -DestinationPath \SQLSRVc$

Ahora deberías tener el instalador del paquete de servicios en la raíz de la unidad C de tu servidor SQL.

Extraer el instalador comprimido

Una vez que el instalador está en el servidor, puedes extraer el contenido del instalador. Para extraer el instalador, usa los argumentos /extract:"C:TempSQLSP" /quiet.

Con el nombre de archivo del ejemplo anterior, ejecuta el siguiente código en SQL Server:

C:SQLServerServicePacksSQL2016SP2.exe /extract:"C:TempSQLSP" /quiet

Sin embargo, debido a que está instalando un paquete de servicio de forma remota, no necesitas abrir una sesión de consola RDP en el servidor para hacerlo.

En su lugar, puedes usar una función llamada Invoke-Program que es una función de PowerShell que permite ejecutar procesos remotos.

Puedes ejecutar extraer el contenido del paquete de servicio en el SQL Server remoto, utilizando el siguiente código:

Invoke-Program -ComputerName SQLSRV -FilePath 'C:SQLServerServicePacksSQL2016SP2.exe' -ArgumentList "/extract:"C:TempSQLSP" /quiet"

Ejecutar el instalador del paquete de servicio

En este punto, estás listo para comenzar el proceso de instalación. Usando la función de PowerShell Invoke-Program, ejecuta el instalador setup.exe que se extrajo del archivo original, utiliza /qy /allinstances al comando.

Esto dirá al instalador del paquete de servicios que no abra una ventana de instalación y que parchee todas las instancias de SQL en el servidor.

Puedes ver un ejemplo de inicio del instalador aquí:

Invoke-Program -ComputerName SQLSRV -FilePath "C:TempSQLSPsetup.exe" -ArgumentList "/q /allinstances"

Limpiar el instalador

Si todo va bien, tendrás un servidor SQL actualizado una vez que finaliza el instalador. Sin embargo, tiene una última tarea que realizar: Limpiar la instalación.

Suponiendo que no deseas dejar los archivos que habías transferido previamente al servidor, elimínalos con el comando Remove-Item de PowerShell.

Sin embargo, debes proporcionar la ruta a la carpeta que extrajo el archivo original y el instalador original. Aquí tienes cómo hacerlo:

Remove-Item -Path "\SQLSRVc$SQLServerServicePacksSQL2016SP2.exe","\SQLSRVc$tempSQLSP" -Recurse -Force

Resumen final

Has instalado con éxito de forma remota un paquete de servicio de SQL Server usando nada más que un archivo y un script de PowerShell.

Ahora que tiene las habilidades para actualizar un servidor SQL para un servidor, puedes extender fácilmente este código a varios servidores.

Para implementar un paquete de servicios en varios servidores, usa construcciones de PowerShell como un bucle foreach.

Coloca el código que aprendiste dentro de un bucle foreach para procesar rápidamente uno o cien servidores SQL a la vez.

Relacionado

¿Qué significa AAA? Autentificación, autorización y contabilidad

La autenticación, autorización y contabilidad (AAA) es un sistema para rastrear las actividades de los usuarios en una red basada en IP y controlar su acceso a los recursos de la red. AAA a menudo se implementa como un servidor dedicado. Es un marco utilizado para controlar y rastrear el acceso dentro de una red informática. Este término también se conoce como el Protocolo AAA y ¡SEGUIR LEYENDO!

Mejores Libros PDF de Programación y Tecnología GRATIS

Los Mejores Libros PDF Gratuitos de Informática. EL sitio perfecto para aprender a programar desde cero para principiantes con las mejores guías gratis. Esta es la mejor lista de libros de programación en PDF en español del mundo. Una completa biblioteca recopilada de cientos y cientos de libros en PDF que no encontrarás en ninguna parte más. Aquí, vas a encontrar libros enfocados hacía programadores. Sobre ¡SEGUIR LEYENDO!

Más de 1.500 Libros PDF en Inglés de Desarrollo Web, Programación, Seguridad, Robótica, Blockchain, Domótica y Mucho Más

La mejor lista de libros sobre lenguajes de programación en inglés de todo Internet. https://ciberninjas.com/zlibrary/ Libros de Python / Libros PHP / Libros Java / Libros Diseño Meta Listas atariarchives.org atariarchives.org pone a disposición en la Web libros, información y software para Atari y otras computadoras clásicas. Bento Bitsavers.org Bookboon: se requiere cookie de TI y programación</. (requiere @email) DZone - Hojas de trucos (gratis) Conceptf1.blogspot.com ¡SEGUIR LEYENDO!

10 Comandos Básicos de PowerShell

PowerShell no necesita presentación: es el marco de gestión de configuración y automatización de tareas elegido para el entorno de Windows. Combina la flexibilidad de un poderoso lenguaje de secuencias de comandos con el poder y la velocidad de la línea de comandos para ayudar a los administradores de TI a orquestar, automatizar y solucionar problemas de funciones de TI comunes. Por eso, los comandos de ¡SEGUIR LEYENDO!

¿Cómo administrar identificadores de archivos abiertos con PowerShell?

Uno de los errores más frustrantes con los que puede lidiar un usuario final o un administrador de TI es el de los archivos bloqueados dentro de Windows. Cuando eliminas una carpeta, mueves un archivo o editas una configuración y encuentras un mensaje de error de archivo bloqueado, es mejor lidiar con eso de manera rápida y eficiente. Microsoft introdujo PowerShell como shell de reemplazo, pero ¡SEGUIR LEYENDO!

¿Cómo encontrar la carpeta de configuración de Nginx?

Nginx usa archivos de configuración basados en texto para controlar su comportamiento. Por lo general, el valor predeterminado es /etc/nginx/ y contiene algunos archivos de configuración diferentes, aunque la ubicación puede variar según la instalación. Las ubicaciones habituales La ubicación predeterminada para la carpeta de configuración de nginx es: /etc/nginx/ Es probable que esta ubicación sea la predeterminada para todas las instalaciones normales. Si instalaste nginx ¡SEGUIR LEYENDO!

¿Cómo ocultar el número de versión de Apache y la información del sistema operativo?

Apache es uno de los servidores web más populares, pero su configuración predeterminada contiene opciones cuestionables en muchas distribuciones de Linux. Apache tiende a anunciar su versión específica y la plataforma en la que se ejecuta, información que podría ser valiosa para los atacantes. Este artículo rápido te mostrará cómo deshabilitar esta salida para ayudar a proteger tu servidor. Por lo general, no hay razón para ¡SEGUIR LEYENDO!

Deja un comentario

Salir de la versión móvil