Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas

lunes, 10 de enero de 2011

Levantar en SQL Server con Mirroring o Espejo las Bases de Datos levantamiento manual(failover Manual)

A partir de la version de SQL Server 2005, Microsoft incorporo a su producto, una manera de mantener las bases de datos(BD) en continuidad en caso de que el servidor principal fallase. Esto se logro con una característica llamada Mirroring o Espejo, la cual permite crear una imagen exacta entre las BD de un servidor y otro, sin tener que invertir en un Cluster, el cual evidentemente es muy costoso por todo el Hardware que requiere(SAN, servidores con la misma características entre otras).

Esta característica tiene 3 modalidades que son Alto rendimiento, Alta Seguridad, y Alta Disponibilidad, este caso estamos hablando de las 2 primeras, las cuales el levantamiento es manual.

Aunque el articulo sea corto y parezca muy trivial, mas de uno de nosotros ha tenido que dedicar horas investigando porque el comando que dice Microsoft no levanta automáticamente el servicio de BD en el servidor Mirror o Espejo. Se debe a que dependiendo de la modalidad adoptada pueden quedar operaciones sin ser pasadas al servidor Mirror o Espejo(alto rendimiento) y si tenemos acceso a la base de datos podemos hacer un backup o respaldo de las ultimas operaciones, restaurar en el Mirror o Espejo y volverla operativa, si no es este el caso o estamos dispuesto a perder información por operatibilidad, puedes usar los siguientes pasos para colocar la BD operativa inmediatamente en el servidor Mirror.

USE
master
GO

ALTER DATABASE NombredelaBD SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
GO


jueves, 9 de septiembre de 2010

Solucionando – Error al Instalar SQL Server 2008 R2 en Español

Ultimamente he recibido muchos correos preguntandome si había podido instalar SQL Server 2008 R2 en español, porque la mayoría de la gente no habían logrado hacer aun cuando con todo y que lo descargado de la Pagina de Microsoft.

El problema se nos presentan a todos aquellos que tengamos seleccionado el idioma distinto a Español(España), es decir por ejemplo mi caso Español(República bolivariana de Venezuela).

Bueno la respuesta es simple lo que deben hacer es:
  1. Entrar en Panel de Control(Control Panel)
  2. Configuración Regional y de idioma
  3. Seleccionar la pestaña Formatos
  4. Escoger Español(España)
  5. Presionamos el Boton de Aplicar
  6. Realizamos la instalación de SQL 2008 R2
  7. Luego Realizamos los Pasos del 1-3, escogemos de nuevo nuestro idioma y listo.
Pd: mis correos para los que quieran saber como comunicarse conmigo y no sepan como:


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.