miércoles, 23 de marzo de 2011

Uso de PowerShell para administrar SQL Server

El propósito de este artículo es demostrar un marco de secuencias de comandos personalizada que permite la gestión de bases de datos SQL Server desde una sesión de Windows PowerShell y también para extender la flexibilidad Powershell mediante la creación de un conjunto de comandos personalizados a nuestras necesidades. Voy a llamar a este marco compuesto por una biblioteca de módulos y funciones especializadas para administrar SQL Server el perfil de DBA .
Requisitos para el perfil de DBA PowerShell:
  1. Windows PowerShell 2.0 - http://support.microsoft.com/kb/968929
  2. SMO - Este paso es necesario si SQL Server Management Studio está instalado (SMO se incluye) en otro caso SMO está disponible como descarga independiente en el marco del Microsoft SQL Server 2008 Feature Pack
  3. PowerShell de SQL Server Extensions - versión 2.3.1
  4. Establecer política de ejecución de PowerShell para RemoteSigned. Lanzamiento PowerShell y el tipo Set-ExecutionPolicy RemoteSigned

SQLPSX

SQLPSX es un proyecto que mantiene en CodePlex http://sqlpsx.codeplex.com  y su objetivo principal es proporcionar funciones intuitivas alrededor de los objetos SMO que son compatibles con versiones anteriores a SQL Server 2000. Un objetivo secundario es proporcionar una aplicación que informa la configuración de seguridad. SQLPSX nos ofrece una rica biblioteca con listas de utilizar muchas funciones y módulos que nos dan la capacidad de construir funciones personalizadas por el consumo o la ampliación de ellos y crear así un amplio conjunto de comandos personalizados.
La versión 2.3.1 se puede descargar como un archivo MSI o un archivo zip. Yo prefiero la versión zip para poder manejar libremente todos los archivos (las carpetas de la se muestran en la siguiente captura de pantalla).

Carpetas que representan cada módulo que figura en el archivo SQLPSX_2.3.1.zip.
Le sugiero que extraer todos los archivos a una ubicación central si la intención de mantener el perfil de DBA, independientemente de la cuenta de usuario. En este caso, extraer la carpeta de módulos en la carpeta predeterminada WindowsPowerShell encuentra en la carpeta de Windows C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ módulos. Por ejemplo, adoLib debe ser copiado a C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ adoLib. Con el fin de verificar los módulos están disponibles, escriba Get-módulo-listAvailable. El siguiente paso es la importación de todos los módulos, uno por uno, voy a estar mostrando este paso en el siguiente tema "cargar el perfil de DBA".


Lista de módulos disponibles, ejecute el comando Get-módulo

Carga el perfil de DBA

El perfil de DBA representa una caja de herramientas especializadas en el manejo de instancias y bases de datos SQL Server en una sesión de PowerShell, y la carga que da el período de sesiones la posibilidad de utilizar todas sus herramientas de base de datos. El perfil se mantiene en el directorio C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 carpeta. Esta carpeta es la ubicación principal en el que Windows PowerShell busca su perfil predeterminado, sino que se considera la carpeta raíz de cualquier sesión, incluso si usted está usando PowerShell 2.0.  
Todas las tres secuencias de comandos de PowerShell usa en este ejemplo se puede descargar aquí
Al igual que con el SQLPSX "módulos", vamos a crear una carpeta con el nombre de DBA en la carpeta raíz PowerShell - C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ DBA. En DBA carpeta residen en un archivo script denominado DBAprofile.ps1 y una carpeta con el nombre de la biblioteca.




La sesión de perfil DBA estará integrado por DBAprofile.ps1 y la carpeta de la biblioteca.
La carpeta de la colección contiene todas las funciones personalizadas necesarias para crear los comandos de llamada durante el uso de nuestro período de sesiones de Windows PowerShell de DBA. En esta carpeta que mantener dos principales bibliotecas personalizadas: CustomLibraryWMI.ps1 y CustomSqlLibrary.ps1. Como sugieren sus nombres, yo uso el archivo CustomLibraryWMI para mantener mis funciones personalizadas que hacen uso de la API de WMI, esta biblioteca especializada para manejar la información y las operaciones conexas a la instancia de SQL Server, como la memoria del servidor, hora local, el tiempo de actividad del servidor, la descripción del servidor, SQL los servicios de estado y así sucesivamente. El CustomSqlLibray contiene mis funciones personalizadas que se centran en la gestión de SQL Server desde la perspectiva SMO, de manejar una base de datos simple a todo el Agente SQL. El DBAProfile.ps1 cargará los módulos SQLPSX y nuestras funciones personalizadas DBA.

No hay comentarios:

Publicar un comentario