miércoles, 13 de julio de 2016

Uso de File Storage Azure como unidad de Backups de SQL Server


En esta oportunidad mostraré como podemos utilizar un File Storage de Azure como una unidad de almacenamiento y consumo de Backups, este procedimiento ha sido probado en maquinas de Azure y en maquinas onpremise con conexion a internet.

a continuacion describo los procedimientos realizados:

1.      Creación de un file Storage en Microsoft Azure

El procedimiento se describe en detalle en el siguiente enlace https://azure.microsoft.com/es-es/documentation/articles/storage-dotnet-how-to-use-files/

2.      Montar el file Storage como unidad de almacenamiento en Windows

Después de crear el file Storage en Microsoft Azure es recomendable acceder a la unidad creada desde Microsoft Windows; este procedimiento se realiza mediante el siguiente script en powershell o en la consola de Windows:

net use z: \\samples.file.core.windows.net\logs /u:samples <storage-account-key>

\\samples.file.core.windows.net\logs : Link de nuestro File Storage en Azure.

\u:samples : Nombre de la unidad creada en el File Storage.

<storage-account-key> : Llave de acceso (Primaria o secundaria) del File Storage.

Si no funciona pueden reemplazar la letra de la unidad por un asterisco (*), para que identifique las unidades disponibles en el equipo, de la siguiente manera:

net use * \\samples.file.core.windows.net\logs /u:samples <storage-account-key>

3.      montar File Storage como unidad de SQL server

Cuando se monta el File Storage como unidad de Windows, SQL Server no la reconoce como una unidad disponible para consumir backups, este inconveniente se soluciona ejecutando los siguientes scripts para agregarla como una unidad disponible de SQL; se debe habilitar el xp_cmdshell:

  • ·      Primero se ejecuta el siguiente procedimiento almacenado en SQL para identificar las configuraciones de SQL Server

o   sp_configure : este comando trae la siguiente información:



o   identificamos la opción ‘show advanced options’, y ejecutamos el siguiente script:

§  sp_configure 'show advanced options', 1 reconfigure

o   luego de ejecutar el anterior script, ejecutamos nuevamente sp_configure’ esto para que nos traiga la lista completa de las configuraciones.

o   Identificamos la opción ‘xp_cmdshell’ y ejecutamos el siguiente script:

§  Sp_configure ‘xp_cmdshell’, 1 reconfigure
  • ·       El anterior procedimiento habilita la configuración ‘xp_cmdshell’ para poder agregar el File Storage de Azure a SQL.
  • ·         Ahora agregamos el File Storage de Azure a SQL Server de la siguiente manera:

o   Ejecutamos el siguiente script:

§  Exec xp_cmdshell ‘net use * \\samples.file.core.windows.net\logs /u:samples <storage-account-key>’

o Después de esto SQL Server identifica el File Storage como una unidad “local” de almacenamiento, y se puede consumir la data que esta almacenada.


martes, 24 de marzo de 2015

Configuración de un Storage Pool

Esta característica de Windows Server 2012, en palabras simples, permite utilizar espacio de almacenamiento que no está siendo usado en el servidor. Con estos "Discos Libres" se crea un solo disco sumando las capacidades. O sencillamente al agregar discos al servidor, estos se pueden agrupar para crear un disco mayor llamado "Storage Space".

Consideraciones para crear un Storage Pool

  • Windows Server 2012 o Windows 8
  • Se necesita mínimo un disco para crear un Storage Pool
  • ¿Se pueden agregar discos después de ser creado el Storage Pool?. SI!!
  • ¿Se pueden quitar discos del Storage Pool?. SI, siempre y cuando se hayan desalojado todos los datos de este disco
  • No se pueden utilizar discos que estén formateados o que contengan archivos del sistema
  • Al crear una caracteristica de duplicado de datos se reduce el espacio disponible, pero esto trae muchas ventajas

Tolerancia a fallos

Al crear el Storage Pool, hay una configuración que debe ser tomada en cuenta, esta es la tolerancia a fallos.
  • Simple - Raid 0: este tipo no tiene tolerancia a fallos,  se tiene mayor capacidad de almacenamiento y rendimiento, pero si falla uno de los discos se pierde toda la data.
  • Mirror - raid 1: con este diseño los datos se duplican en distintos discos, aumenta la fiabilidad pero se reduce la capacidad. Necesita como mínimo 2 discos físicos, de esta manera soporta el fallo de uno, para poder soportar 2 discos se necesitan mínimo 5 discos.
  • Paridad - Raid 5: con este diseño los datos se reparten entre los distintos discos lo cual hace que el rendimiento y capacidad se aproveche mejor que en mirror, pero necesita mas capacidad de disco. Necesita un mínimo de 3 discos, de los cuales soporta la perdida de 1, en caso de querer soportar la pérdida de 2 necesitamos 7 discos.

Configuración del Storage Pool


  1. Primero verificamos que nuestro servidor tenga los discos que vamos a utilizar, de la siguiente manera: primero damos click derecho sobre el icono de Windows como lo muestra la imagen y seleccionamos "Administrador de discos"


Como ven los discos 1, 2 y 3 aparecen como no asignados, estos son los discos que vamos a utilizar.

2.  Desplegamos nuestro Administrador del servidor y nos dirigimos a Servicios de Archivo y Almacenamiento:

Luego a Grupos de Almacenamiento y nos fijamos que los Discos estén en "Discos Físicos" :

3. Damos clic derecho sobre Storage Spaces y pinchamos "Nuevo grupo de Almacenamiento":

4. Se despliega el Wizard de configuracion Storage Pool:

Damos clic en Siguiete.

Asignamos un nombre y una descripción y luego damos clic en Siguiente

Ahora se pone interesante, dependiendo el tipo de Storage Pool que se quiera configurar se seleccionan los discos y se asigna la Tolerancia a fallos en una primera instancia.
La tolerancia a Fallos se puede configurar Automática, Reserva Activa o manual, en este caso hay que dejar los tres discos en automático para poder usar la opción de Parity, la cual se explica mas adelante

Al configurar nuestro Storage Pool, damos clic en siguiente y llegamos a la ultima parte del wizard, revisamos la configuración y damos clic en Crear

En este momento termina la creacion del Storage Pool, importante poner el check en "crear un disco duro virtual cuando este asistente se cierre", luego clic en Cerrar

5. Asistente de creación Disco duro Virtual

Damos clic en Siguiente en la primera pagina del wizard

Revisamos que esté nuestro Storage creado, y damos clic en siguiente

Luego le damos un nombre al disco y una descripción, y damos clic en siguiente

En esta parte Se configura la segunda parte de la Tolerancia a fallos
En este caso como tengo tres discos voy a configurar el modo Parity, que me permite distribuir la información en los discos garantizando la integridad si uno de los discos falla. Luego damos clic en Siguiente.

Nota: la configuración parity solo se puede utilizar siempre y cuando mas de tres discos se hayan asignado al Storage Pool, todos deben estar en automático al momento de configurar la primera instancia de tolerancia a fallos.

Ahora configuramos el Tipo de Aprovisionamiento
en este caso lo voy dejar delgado, el cual va llenando el disco según la necesidad de almacenamiento; damos clic en siguiente

Asignamos el espacio de almacenamiento que queremos y damos clic en siguiente

Revisamos la configuración y damos clic en Crear

Se valida la creacion y revisamos el check "Crear un Volumen cuando éste asistente se cierre"y damos clic en cerrar



6. Creación Nuevo Volumen 

Damos clic en Siguiente en la primera pagina del Wizard

Verificamos que  nuestro Disco Virtual aparezca y damos clic en Siguiente

Especificamos el tamaño de nuestro volumen y damos clic en Siguiente

Seleccionamos la letra de nuestro nuevo volumen y damos clic en Siguiente

Seleccionamos el Sistema de Archivos y le ponemos un nombre, damos clic en Siguiente

Validamos configuración y le damos clic en Crear

Al terminar la validacion podemos revisar que nuestro volumen haya sido creado

Este procedimiento Permite utilizar estos discos duros que tienen  poco espacio de almacenamiento para crear un solo volumen que almacene nuestros BackUps de SQL Server Databases.
































viernes, 30 de enero de 2015

Configuración de una alerta en SQL Server



Buen día, hoy voy a explicar como se configura una alerta en SQL Server 2012 la cual va a enviar un correo a un operador para informar la falla.
en primer lugar se debe tener configurado previamente el Database Mail en nuestro SQL. Para comenzar abrimos nuestro Management Studio y seguimos los siguientes pasos:

1. En primer lugar debemos verificar si nuestro agente de SQL tiene habilitado el sistema de alertas, para eso debemos ingresar a las propiedades del agente y asociar el profile del Database Mail de la siguiente forma.


En el Mail System seleccionamos Database Mail, y en el Mail Profile ponemos el que se encuentra asociado a nuestro Database Mail. Seleccionamos la opción de Incluir el cuerpo del correo en el mensaje de notificación y listo.


2.  Ahora creamos un operador. Este personaje es la persona a quien va dirigido el correo de alerta y debe , según su perfil, dar solución al inconveniente. 
Desplegamos el Agente de SQL , ahí encontramos una carpeta que se llama Operadores y creamos uno nuevo.




                                          
Se le pone el nombre al operador y se configura el correo destino, luego damos click en ok.

3.  Ya que tenemos listo nuestro operaqdor podemos crear la alerta. Esto lo hacemos de la siguiente forma, en las carpetas que tiene el Agente de ÇSQL hay una que se llama Alertas, damos click derecho y ponemos nueva alerta.
ene este caso vamos a configurar una alerta de Bloqueos que se dispara cuando el bloqueo dura mas de 10 segundos.

Ponemos el nombre de nuestra alerta el tipo, que en este caso es de rendimiento, el objeto, el contador asociado a dicho objeto, la instancia, y la condición del bloqueo.







Ahora configuramos el operador que va a recibir el mensaje de  alerta, tal cual lo muestra la imagen, y damos clic en ok.


Nuestra alerta esta creada, ahora esperar a que se presente el bloqueo en nuestra base de datos .



Este tipo de alertas se pueden configurar por ejemplo para monitorear de un trabajo de Backups, o lo que se les pueda ocurrir.


jueves, 29 de enero de 2015

Configuracion Database Mail

Buenas tardes el dia de hoy les voy a explicar como configurar el database mail de
SQL Server, esta herramienta nos sirve para poder enviar , por ejemplo, una alerta al correo electrónico si algo anda mal con nuestras bases de datos.
  1. Primero ingresamos al Management Studio y y damos click en la ventana de administración, se despliega las herramientas contenidas en dicha carpeta, luego damos click derecho en Database Mail y luego en Configure Database Mail. como lo muestra la imagen.

2.  Se despliega el Wizzard y damos en siguiente.


3. Seleccionamos Configurar el Database Mail, como lo muestra la siguiente imagen.


4. Se despliega otra ventana , en la cual vamos a configurar nuestro profile, le damos click en "Add" y agregamos la cuenta de correo que se va a utilizar para enviar los correos desde el
SQL Server.


5. Al dar click en "Add" se despliega una ventana para crear la cuenta de correo, como lo muestra la imagen.


6. Al agregar la cuenta se despliega una ventana en donde configuramos los detalles de la cuenta, en este caso esta configurada una cuenta de gmail la cual es la que envía las alertas . Importante las cuentas de gmail necesitan cifrado SSL.


7. Cuando se termina la configuración de la cuenta de correo damos click en siguiente y se despliega la siguiente ventana. En esta ventana seleccionamos "Public profiles", y seleccionamos el check para asociar nuestro profile. Damos Click en siguiente.


8.  Se despliega la siguiente ventana en donde se configuran los parámetros del sistema, en este caso los dejamos por defecto y damos click en siguiente.


9. Se despliega la siguiente ventana de confirmacion y le damos click en Finish.


10. Se completan todos los Check y queda configurado nuestro Database Mail. Damos click en finish y lilsto.


11. Para validar nuestro Database mail hacemos el siguiente procedimiento, Damos click en Send
Test E-Mail. aparece otra ventan y simplemete le damos click..

Revisamos el correo electrónico para verificar el envío del correo y listo!!







miércoles, 8 de octubre de 2014

Crear una auditoria en SQL Server 2012

En el día de hoy les voy a explicar como crear una auditoria en SQL Server 2012; Este tipo de procedimiento es muy útil para realizar un seguimiento de las operaciones que se realizan en las bases de datos de SQL, o en el mismo servidor.
En este caso voy a crear una auditoria sobre un objeto de la base de datos.

En primer lugar se debe generar el plan de auditoria a nivel de servidor de la siguiente manera:

1. Se crea una nueva auditoria a nivel de servidor

2. Luego se configura de la siguiente manera



3. Luego de Configurar la auditoria, si quieren generar un filtro para la auditoria lo pueden hacer, por ahora al terminar damos ok.
La nueva auditoria creada se va a mostrar como "Des-habilitada" por consiguiente hay que "Habilitarla" como lo muestra la imagen, luego el icono de la auditoria cambia y solo queda la "Lupa" sin la cruz roja de abajo.

Cuando ya esté habilitada la auditoria debemos configurar el tipo de auditoria que queremos realizar, en este tutorial voy a auditar una tabla de una base de datos, para poder observar los Insert y Delete que realicen en la tabla.

1. Seleccionar la tabla que vamos a auditar, yo ya tengo una tabla creada para este caso, la  tabla se llama dbo.Student que esta contenida en la base de datos AdventureWorks2012.

2. A nivel de la Base de datos AdventureWorks2012 se debe crear las especificaciones de la auditoria, de la siguiente manera.



















El mismo proceso se utiliza para crear la auditoria de la acción DELETE.
al terminar de crear las acciones de auditoria presionamos en OK y queda creada a nivel de objeto de la base de datos.


Para terminar solo deben generar consultas que hagan INSERT o DELETE en la tabla que se esta auditando y consultar el log de auditoria para ver las acciones.



Como pueden ver en la imagen, en el registro aparecen las acciones DELETE e INSERT, si movemos los logs a la derecha podemos ver que usuario ejecuto dichas consultas.

Espero que les sirva de mucha ayuda, hasta la próxima!!