Utilizar funciones PowerShell para mejorar la administración de SQL Server

Microsoft SQL Server 2012 con capacidades PowerShell ¿Cuál es la mejor manera para gestionar un DBA? Lea este consejo de Don Jones para averiguarlo.

SQL Server 2008 fue la primera versión de SQL Server en incluir cualquier tipo de apoyo significativo para PowerShell, pero este fue mínimo. Con SQL Server 2012, Microsoft ha ido con todo en SQL Server, añadiendo soporte a través de los componentes del producto, incluyendo servicios de análisis e integración, así como el motor del núcleo de base de datos. A primera vista, este soporte PowerShell parece confuso, pero con algunos hechos en mente, usted será capaz tomarle sentido.

En primer lugar, hay sólo un escudo, a pesar de la proclividad de los equipos de producto Microsoft  para crear iconos de escritorio de productos específicos de PowerShell en el menú Inicio, todos son la misma consola. Esos iconos por producto simplemente cargan los complementos de un producto PowerShell conforme el escudo arranca, llevándole a un funcionamiento más rápido. Todavía se puede utilizar Add-PSSnapin e Import-Module desde cualquier instancia de Shell para cargar las extensiones de un producto por su cuenta. En algunos casos, los iconos de productos específicos pueden ejecutar un script completo, el cual también debe ejecutar si desea cargar las extensiones de producto por su cuenta.

A continuación, sea consciente de que SQL Server utiliza un enfoque mixto de la administración. Mientras que las extensiones del producto añaden comandos (o mejor dicho, “cmdlets”) a PowerShell, gran parte de la funcionalidad del PowerShell de SQL Server se presenta en forma de PSProviders. Esencialmente, un PSProvider hace que SQL Server parezca un disco grande, con “carpetas” para varios componentes, como servicios de análisis y el motor de base de datos. Los valores de configuración se presentan como “archivos”, y se utiliza un conjunto específico de cmdlets de PowerShell - como Set-ItemProperty y Get-ItemProperty- para manipular los ajustes. Es muy similar a como se manipula el registro usando la clave HKLM: o HKCU: en PowerShell. ¿Por qué no podría el equipo de SQL Server proporcionar sólo cmdlets para todo? Eso sin duda habría sido una opción más-fácil-de-aprender, sospecho, pero la naturaleza dinámica de SQL Server hubiera podría convertirlo en reto. Como sea, la “unidad” puede adaptarse a diferentes configuraciones de SQL Server y escenarios de instalación, mientras que cmdlets esperan una situación más estática. El equipo de Internet Information Services tomó la misma decisión, proporcionando una serie de cmdlets pero también confiando en la capacidad de adaptación dinámica de un PSProvider. Después de cargar las extensiones de SQL Server en el Shell, ejecute Get-PSDrive para ver el disco de SQL Server, cámbiese a él utilizando el viejo comando CD y empiece a trabajar inmediatamente.

SQL Server tiene una serie de convenciones únicas. Por ejemplo, no utiliza el carácter “`” estándar (acento grave) para ESCape, de otra forma aparecerían caracteres ilegales en nombres de servidor y objeto. En cambio, el equipo de SQL Server optó por utilizar la codificación URL para que un espacio en blanco aparezca como “% 20”. Unos pocos cmdlets proporcionados codifican y decodifican para usted, por lo que no es necesario recordar los valores hexadecimales de los caracteres inusuales.

¿La mejor cosa a recordar? Solicitar ayuda. El sitio web de la comunidad PowerShell.com ofrece un Foro SQL Server-specific Q&A; también hay sitios como StackOverflow.com y ServerFault.com, donde se puede obtener ayuda de sus compañeros con problemas difíciles. En lugar de darse golpearse la cabeza durante días y días, enviar una pregunta concisa y bien redactada y ver si alguien puede ayudarle a seguir adelante.

Por encima de todo, no hacer caso omiso de PowerShell. Claro, siempre vas a hacer mucho con Transact-SQL, pero PowerShell es el camino que Microsoft promueve, y el equipo de SQL Server ha integrado un avance bastante amplio en todo el producto. Es otra herramienta en su arsenal, y no hacer caso a esto, pone en riesgo de su carrera.

 

Acerca del autor: Don Jones es Cofundador de Concentrated Technology LLC, autor de más de 30 libros sobre TI y conferencista técnico a nivel mundial. Revise la página de archivos de Jones sobre la serie, “SQL Server para el DBA renuente.”

Investigue más sobre Infraestructura empresarial y DC