Como preparo la charla de “Inteligencia de Negocio”

Aparte de la teoría que la podemos leer ´y extraer de libros y páginas web, está la parte práctica.

Captura

Solo uilizó una base de datos ya hecha, para el tema SSAS Multidimensional que es AdventureWorks2014DW. Para el resto SSIS, SSRS, … me fabrico yo una  que contenga información relevante.

En este caso y en más, como fue el hackaton de hace unos meses, me lo hago con python.

El programa lo que genera datos de la cantidad que se ha vendido de un producto que hay en una balda de una estantería, de cada fila de estanterías y por centro comercial en un mes.

Al hacerlo en excel me encuentro con la limitiación de los mas o menos 65000 filas, lo que me hace que este fichero lo tenga que ejecutar 12 veces y cambiar el nombre de la xls para cada mes. Ya veremos como lo utilizamos este caso ;).

Captura

y queda la excel

Captura

Estoy preparando uno con csv completo de un año y con mas datos.

Si tenéis alguna idea que se pueda hacer, envíamela y lo vemos.

Próxima charla: “Inteligencia de Negocio”

Estoy en preparación de una charla sobre Inteligencia de Negocio para el próximo día 5 de Julio.

Captura

Va a ser por skype (Primera vez que hago una charla de este tipo) y para una Universidad de Perú. La única charla que he dado o me han ofrecido en España hasta ahora ha sido en el Colegio Tajamar de Madrid y fue de Azure y Powershell.

Ahora toca materia de mi MVP

Los temas a tratar:

  • Introducción teórica al concepto de Inteligencia de Negocio.
  • Arquitectura
  • Definiciones

En la parte teórica y en la práctica práctica:

  • SSAS
  • SSRS
  • Power BI, Pivost, ….

Espero que todo esto me de tiempo.

Aquí os dejo mi tarjeta de visita.

Captura

Espero veros pronto.

Recuperar Base de Datos sin fichero ldf y con el log corrupto en #SQLServer

La pregunta arriba indicada me la hizo Ricardo Chavez por Facebook. Como todavía no se me habia presentado no he podido hacer el artículo respectivo.

Yo,  al ser MVP, le oriente en que paginas podía encontrar la solución simplemente.

A cambio le pedí que me hiciera un word con la resolucióon y que el texto lo publicaría en mi blog Aquí va como resolvio su problema.

Captura

Hoy nos encontramos con un servidor de base de datos que se quemó la tarjeta madre y no teníamos respaldo de la base de datos por lo que debíamos recuperarlas por los archivos .mdf pero el log estaba corrupto por lo que arrojo en primera instancia el siguiente error después de pasar el siguiente script.

CREATE DATABASE MyDatabase ON (FILENAME = 'E:\Database\MyDatabase.mdf')

FOR ATTACH

Captura

Seguidamente tratamos de adjuntar la base de datos reconstruyendo el log con el script

CREATE DATABASE MyDatabase ON (FILENAME = 'E:\Database\MyDatabase.mdf')

FOR ATTACH_REBUILD_LOG

Pero nos dio el siguiente error

Captura

La solución fue la siguiente:

1-. Crear base de datos desde el Management Studio.

2-. Pasarla a estado de emergencia.

ALTER DATABASE BBDD SET EMERGENCY

3-. Para los servicios de SQL

4-. Copiar y pegar el archivo .mdf en la carpeta data de la instancia correspondiente (Reemplazar el que se creó por el que tenemos originalmente).

5-. Inicial los servicios SQL

6-. Ponemos la base de datos como Single User

ALTER DATABASE BBDD SET SINGLE_USER

7-. Hacemos un CHECKDB

DBCC CHECKDB (BBDD, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS

8-. Dejamos la base de dato BBDD como multiusuario y accesible

ALTER DATABASE BBDD SET MULTI_USER

Bueno, espero que os valga esta solución cundo se os presente el caso.

Y como no,invitaros a  pasar por el grupo de facebook:

https://www.facebook.com/groups/juankartips/

Captura

y os ayudaré a resolver sus dudas u a orientars como hacerlo. No hacer los deberes por ti

 

Encender, Apagar, Reiniciar Maquinas Virtuales con #Azure Resource Manager de una forma automatica

A veces no es necesario encender todas las maquinas de un mismo grupo de recursos. Solo queremos una

Para eso me ingeniado un script en Powershell.

Captura

Este es el resultado. Como lo hacemos ???

Captura

En este primer cuadro elegimos el Grupo de Recursos.

Nos saldrá un segundo cuadro igual a continuación, pero si os fijais en el nombre del cuadro pone “Seleccionar maquina“.

Tanto el el primero como en el segundo tenemos aparece u titulo diferente, Tenerlo en cuenta y que es la misma pantallas para los 3 procesos, aunque seguramente cuando lo suba a github ponga otro texto.

Captura

Y si queremos ver que maquinas tenemos encendidas y apagadas en cualquier momento, podemos utilizar el comando del pantallazo.

Todo esto ira al github en breve.

Mostrar histórico de Copia de Seguridad en #SQLServer

Una de las funciones del DBA es saber que copias de seguridad tenemos para prevenir que nos pillen sin un Backup reciente, por no decir de hoy mismo.

Lo podemos hacer:

Captura

Este código estaría bien, pero no os indica todas las copias de seguridad que tenemos.

La base de datos msdb es utilizada por SQL Server para guardar historiales. En este caso vamos usar los de  backup.

Captura

Veis que nos guarda los ultimos backups (he hecho varios para que lo veais). Ahora sería la hora de depurar y dejar lo del ultimo mes o el criterio que se quiera tomar. Ire subiendo estos códigso a github.

La Base de datos msdb de #SQLServer

 

La base de datos  MSDB es una base de datos muy importante en el sistema de Microsoft SQL.

La base de datos msdb se utiliza principalmente por el Agente SQL Server para almacenar las actividades del sistema como los jobs del servidor SQL,  correo, planes de mantenimiento,  usuario y le base de datos de la historia de copia de seguridad, etc .. Al igual que las bases de datos de usuario, tenemos que mantener y copia de seguridad esta base de datos para el correcto funcionamiento de los componentes del Agente SQL Server.

Es una buena práctica tener una copia de seguridad periódica de esta base de datos.

Captura

En unos proximos articulos veremos como funciona y que informacion podemos sacar. Importante que la manejen los DBA.

Nuestro plan de recuperación básico ante desastres en #SQLServer

Como dice la Wikipedia: “es un proceso de recuperación que cubre los datos, el hardware y el software crítico, para que un negocio pueda comenzar de nuevo sus operaciones en caso de un desastre natural o causado por humanos. Esto también debería incluir proyectos para enfrentarse a la pérdida inesperada o repentina de personal clave, aunque esto no sea cubierto en este artículo, el propósito es la protección de datos.”

Como podemos prevenirnos ante esos desastres:

  • Hace 2 o mas backups  con destinos diferentes.
  • Que tenga la información suficiente para una posible recuperacion
  • SAI’s
  • Antivirus, Firewall,

Es decir, todo esto se basa en recuperar la capacidad operativa de la empresa. En San Google puedes encontrar mucha información al respecto.

En este blog n es la primera vez que hablamos de ello:

Estrategías de Backup en #SQLServer y lo que no es SQL Server

Como planificar una estrategia de #Backup en #SQLServer: Tipos de Backups

Como planificar una estrategia de #Backup en #SQLServer: Cuando hacerlos

Pues vamos a ponerlo en práctica.

Vamos a hacer un backup tanto a un disco duro en on-premises, que tambien puede sestar en otra ubicacin de nuestra red, como´a un blob de Azure.

Vamos a hacerlo como si fuera la primera vez. Lo primero  vemos si hay credencial para Azure.

Captura

Y ahora vamos con el backup

Captura

Como vemos, la parte de la credencial no va a actuar.

El backup se realiza en 2 ubicaciones on premises, aunque una esta en comentarios.

Y por último, en un blob de Azure. Si no tenemos cuenta Azure, nos valdría la anterior y en 2 sitios.

Azure tiene productos mejores en cuanto a temas de backup que lo veremos mas adelante.