jueves, 12 de agosto de 2010

Cambio de usuario y Clave de SQL Server

Normalmente las personas cuando instalan SQL Server tienden a escoger como cuenta de inicio del servicio de SQL la cuenta de Sistema Local. Sin embargo en ocasiones requerimos cambiar la cuenta de inicio para alguna actividad en SQL que requiere que la cuenta tenga permisos adicionales como red o por ejemplo activar el servicio de envío de Correo electrónico(SQL Mail y ahora actualmente llamado Database Mail).

La cuenta que deseamos usar debe tener la permisologia adecuada y como característica esencial debe poder iniciar como servicio como por ejemplo Administrador del Dominio o del equipo, aunque lo ideal seria una cuenta solo para SQL(mi recomendación seria que al momento de iniciar la instalación de SQL Server tengan ya creada la cuenta y la asignen inmediatamente y así el proceso de instalación la configurara). La principal razón es que si cambian la clave del Administrador y reinician el equipo los servicios no iniciaran y deberán ir a la consola de SQL para cambiar la clave del usuario para poder iniciar el servicio .

Una observación sobre el cambio de clave en SQL, muchas personas y foros mencionan el cambio de la clave vía de consola de servicio, lo cual no es adecuado porque por ejemplo en SQL 2005 esa clave se almacena también en los registros de Windows y depende de las actividades que se realicen el servidor puede que los servicios no funcionen adecuadamente porque la clave del registro no fue cambiada.

Para cambiar la clave del SQL Server entran en la consola de SQL, dan boton derecho sobre el servidor que desean configurar y seleccionan propiedades, buscan la pestana de Seguridad y en usuario colocarlo de la forma DOMINIO\USUARIO.

Si desean cambiar el usuario del agente de igual forma ubican el servidor, lo expanden escogen Administración, escogen Agente SQL, dan botón derecho seleccionan propiedades, en usuario colocarlo de la forma DOMINIO\USUARIO.


SQL Mail para enviar Alerta y Notificaciones via Correo Electronico(Email)

En muchas de las instalaciones que he ido o realizado, la mayoría de las empresa no tienen personal con el conocimiento necesario sobre SQL Server, y por este motivo en muchas ocasiones no se dan cuenta que los respaldos de SQL no se están realizando exitosamente, hasta el día que realmente la necesitan y se dan cuenta que tienen 8 meses sin un respaldo.

Entre otras cosas, ademas de diseñar un plan de mantenimiento,revisión de los respaldo(esto implica restaurar y verificarlo apropiadamente), estar pendiente del espacio en disco y algunas otras labores de los Administradores, pudiésemos tomar ventajas de las características que brinda SQL Server que muchos desconocemos, como lo es el envío de correos, con el cual por ejemplo pudiésemos enviar un correo con de confirmación o fallo del respaldo, una alerta de poco espacio, etc. Solo de manera informativa es posible centralizar todas las actividades y notificaciones de todos los Servidores de SQL Server que tengamos en nuestras oficina.

Como siempre les recuerdo que la finalidad de este blog es realizar las actividades y no realizar un compendio de las cosas de cuando, porque hacer las cosas.

Una de las primeras actividades que debemos hacer es configurar apropiadamente la instancia de SQL Server, dado que normalmente las personas inician el servicio de SQL con la cuenta de Sistema Local y debemos cambiarla por una cuenta de usuario local o de dominio según sea el caso tanto para el agente como para el SQL Server, es decir la misma cuenta para los dos para que funcione adecuadamente el SQL Mail llamado ahora Database Mail.

El segundo paso es tener instalado para el caso de SQL Mail en debe tener instalado Microsoft Outlook, que seria la cuenta por donde se enviarían las alertas y notificaciones. En el caso de tener exchange con la cuenta de dominio es suficiente. Es importante mencionar que para configurar la cuenta en el Microsoft Outlook debemos iniciarlo con el usuario que le configuramos el inicio de servicio, esto genera un perfil que es el que indicaremos al SQL Mail que tome. También podemos verificar el perfil por Panel de Control-Correo.
El tercero es la configuración del perfil se SQL Mail en la consola de SQL Server, dan botorn derecho en el servidor que desean configurar y seleccionan propiedades, buscan la pestana de Configuración de servidor seleccionan el perfil para SQL Mail. Tambien pueden escogerlo entrando al servidor, lo expanden escogen servicios Compatibles, seleccionan SQL Mail y le dan Propiedades.

El Cuarto paso es crear las personas que pueden recibir los correo y esto son los llamados operadores. Estos se crean en la consola de SQL Server, escogen el servidor donde desean configurarlos , seleccionan administración, expanden agente y seleccionan operadores y crean el operador tal y como nos tiene acostumbrado Microsoft y así ya podrás comenzar a configurar tus actividades con envío de correo.

Como una acotacion adicional como ya tienes configurado el SQL Mail, puedes sacar un mayor provecho ya que lo puedes usar en tus T-SQL ya que te brinda los procedimientos almacenados para ello que son

- xp_startmail : Inicializa el SQL Mail.
- xp_stopmail : Lo detiene.
- xp_findnextmsg : Se utiliza con sp_processmail para procesar mensajes de correo en el buzón de SQL Mail.
- xp_readmail : Lee mensajes del buzón de correo.
- xp_deletemail: Borra un mail con un id especifico.
- xp_sendmail : Envía un mensaje
- sp_processmail : Utiliza procedimientos almacenados extendidos (xp_findnextmessage, xp_readmail y xp_deletemail) para procesar mensajes de correo de entrada.

Para hacer uso de ellos solo debes hacer referencia a master.sp_sendmail por ejemplo.

miércoles, 4 de agosto de 2010

Descargar Actualizaciones Windows para instalarlo Fuera de Linea u off line

Algunos se preguntaran que interés puede tener un usuario en descargar algo que su equipo hace automáticamente, daré algunas razones:
  1. Recuerda que esas actualizaciones normalmente son brechas de Seguridad y mantener el equipo actualizado reduce la superficie de ataque.
  2. Suponte que tengas una red donde cada uno de los equipos debe buscar todas las actualizaciones y por consiguiente te consumen el ancho de red.
  3. Tuviste o tienes un problema de virus en tu red y requieres actualizar los SP para que no te vuelva a infectar.
  4. Requieres instalar un programa activo en tu empresa, cuyo requisito es tener instalado algunas actualizaciones y no tienes internet.
  5. Para mi tal vez la que mas pesa aparete del primer punto, es el tiempo que tardas en bajar estas actualizaciones.
Lo antes mensionado son solo algunas razones solamente, entrando en materia existen 2 formas de hacerlo:

  • Si tienes un servidor windows, entre algunas de sus características existe una herramienta que te permite descargar y almacenar las actualizaciones que Microsoft va liberando según el inventario de los equipos de tu red, y de esta forma el te va lo descarga y luego según tu configuración, el mismo puede indicarle al equipo que instales esas mejoras. Esa característica es WSUS. Como punto importante para el uso de esta herramienta es es contar con espacio en disco para poder descargar las actualizaciones. Luego que lo Instales debes configurar a los clientes para que busquen las actualizaciones en ese servidor o lo mas sencillo y como lo haría yo seria por GPO: Configuración del Equipo->Plantillas Administrativa->Componentes de Windows->Windows Update->Especificar la ubicaciondel servicio Windows Update en la Intranet, colocas el URL del Servidor(http://nombreServidor) ademas de otros parámetros.
  • Si no cuentas con un Servidor windows entonces puedes usar un programa de tercero gratuito ademas que es WUD ahí encontraras mas información al respecto y podras descargar el programa, luego instalarlo y ejecutar las descargas de las actualizaciones, crear un CD/DVD o copiar HD y así realizar las actualizaciones por este medio. La desventaja de esta metodología es que debes hacerlo en cada cliente.