Categorías
Donaciones

Todo el contenido es gratuito y en beneficio de la comunidad. Puedes reconocer el esfuerzo con una donación si lo deseas.

Inserte aquí su publicidad

Esta opinión es puramente personal, no representa la opinión de la organización, ni a sqlpass.es.

#SQLSatMadrid 2017 es historia. Ha sido histórico, como los 2 anteriores y como el que me parece ya legendario evento primigenio, el SQL Saturday Barcelona 2014.

Es mi momento de reflexión sobre cómo ha ido la cosa este año. Visto desde fuera, es difícil encontrar argumentos para no calificarlo como sobresaliente. Afluencia desbordante, calidad del roster magnífica, tiempo para el networking, etc. Las opiniones que hemos recogido en persona o en las redes son de “totalmente satisfactorio”.

Visto desde dentro, donde hemos de ser más críticos y autocríticos, sabemos, o al menos yo sé, que tenemos por delante un margen de mejora muy grande. Ha habido varios aspectos manifiestamente mejorables y otros que sin que hayan salido mal, creo que debemos cambiar o plantearnos cambiar de cara a próximas ediciones.

Organizar un sarao de este tipo tiene muchas cosas que son muy difíciles. Una de las más fáciles es la de montar una agenda con ponentes de calidad. Sin duda ninguna, estuvieron los mejores de España en Data Platform, todos ellos fueron, somos o serán MVP. A eso le sumamos un puñado de amigos (porque eso son) que vienen de fuera, tanto de fuera de España como de fuera de Data Platform, y que suben el nivel. Todos ellos con un altruismo y una entrega que lo facilita todo muchísimo. Este año, el que vino desde más lejos, si no me equivoco, fue Pau, desde Arabia Saudí (por cierto, sigo sin entender cómo este chico no es aún MVP). Pero Niko había pasado 12 horas en su casa en toda la semana y se vino. Miguel Egea, al que se le rompió el portátil el jueves y sufrió lo suyo para reinstalarlo, a las 8:00 del sábado mandó aviso de que iba por Albacete en coche, camino de Madrid. Y así para cada uno de los 26 speakers que hemos tenido este año. Lo comento porque no solo los de fuera han de hacer grandes peripecias por llegar a Madrid, también los que entendemos como parte del equipo, del núcleo, se las tiene que ingeniar para estar y darle una prioridad altísima a este evento para que sea posible. De la entrega de estas personas tan brillantes es de donde sale una agenda potente como muy pocos eventos en el mundo pueden presentar, pero ni SQL Saturday ni eventos de pago.

Yendo con lo “no tan bueno”, en esta edición hemos tenido tres lagunas o bloques de mejora: las precons, los sponsors y la relación con Microsoft.

Esta edición ha tenido una diferencia sustancial en mi participación. Por motivos personales, no he podido estar aportando cuanto me hubiera gustado. Así que si han ido más flojas esas áreas, en buena medida es porque yo no he estado. Eso no significa que sean mi responsabilidad única, significa que había un número (grande) de horas de trabajo que había que meter, que yo no he metido, y que los demás han cubierto como se ha podido. Así que entono el mea culpa.

Pormenorizando, las precons no han salido bien. Este año teníamos un claro objetivo de impulsarlas y hacerlas crecer exponencialmente. Aspirábamos a tener cuatro al menos, con entre 15 y 20 asistentes cada una. La realidad es que hemos hecho dos y la afluencia ha sido muy baja. A nivel técnico han sido buenísimas, tanto la de Azure con Peter y Jose Manuel como la de Power BI que impartieron Salva y Ana. Pero si un SQL Saturday es tan potente como sus precons, nuestra nota es “Muy Deficiente”. No hemos sabido promocionarlas, ni enganchar con los equipos adecuados en Microsoft para realizar un trabajo idóneo para impulsarlas, hasta el punto de que el mismo jueves 21 hubo un evento para partners sobre PowerBI.

Por lo tanto, en un trabajo a empezar desde ya, tenemos que conseguir que el SQL Saturday Madrid 2018 cuente con al menos 4 precons y que asistan al menos 70 personas a ellas. Una precon es una sesión formativa en formato workshop de 5 horas a un precio ínfimo, en el entorno de los 100€. Ve a buscar formación de este nivel donde quieras, que la tendrás, como mucho de igual calidad, pero por tres o cuatro veces ese precio.

¿Por qué son tan importantes? Por dos razones, además de la evidente, su misión formativa subvencionada para la comunidad. La primera, para la persona o personas que dan una precon se les puede cubrir sus gastos o parte de ellos (para el speaker del sábado, no, PASS lo prohíbe tajantemente). Tener precons permite traer una rock star desde mucho más lejos, ya que desplazarse a Madrid desde Seattle (o desde Alicante) es muy caro, y eso animaría a muchos speakers internacionales a proponer sesiones, mejorando lo presente. Cada año se reciben propuestas de sesiones y precons que argumentan, con toda la razón, que no se pueden permitir venir. Aparte, y es la segunda razón, ese dinero tras cubrir gastos va para la organización del evento, junto con los patrocinios es la única fuente de ingresos que tenemos.

En la búsqueda de patrocinadores hemos de encontrar muchos más caminos. Ahora mismo se ha reducido la lista a tres (Microsoft va aparte, o más bien en el siguiente apartado). Plain, SolidQ y Kabel, las tres del mismo sector, las tres competencia directa entre sí, las tres pequeñas empresas para las que estar ahí es un esfuerzo considerable.

Hay una docena de empresas más que podrían haber estado, por ser de este mismo perfil, a las que no mencionaré, este año no han estado, ojalá se animen en años venideros. Pero, ¿dónde estaban las “grandes” consultoras (IECISA, INDRA, Accenture, Tecnocom, Cap,…)? ¿Dónde estaban los fabricantes de hardware (Lenovo, HP, Hitachi, EMC,…)? ¿Dónde estaban las empresas que ofertan cloud (Telefónica, Amazon)? ¿Y los fabricantes de software (Quest, Apex, RedGate, SAP, Pyramid, Tableau, etc.)?

A eso hay que sumarle cualquier otra compañía para la que figurar como patrocinador significa posicionarse en una apuesta tecnológica puntera, que atrae a profesionales activos, a cualquier empresa de vending o comida a domicilio. Y no me digáis que no somos de público objetivo, que una pizza de cenar en la oficina cae cada dos por tres. De Mahou ya, ni hablamos.

Pues bien no hemos sabido encontrar la puerta a la que llamar, no hemos llamado o no lo hemos hecho con el suficiente salero. Más de una que estaba siempre este año se ha caído. El caso es que somos de los Saturday que más gente lleva y a la vez el que menos patrocinadores tiene, y eso que los planes de sponsorship son con cantidades irrisorias.

Así que en esto tenemos muchísimo que mejorar, y hacerlo desde ya. Al mayor evento de Data Platform de este país, enfocado a MS, pero en el que se tocan muchos más palos, no pueden faltarle fondos. No sólo hace falta cash, existen otras muchas fórmulas que debemos explorar para conseguir un evento sostenible, algo que este año no va a suceder ya que ha sido deficitario, eso después de recortar en muchas cosas y tras tener que afrontar nosotros un conjunto de pequeños gastos que no deberíamos tener que soportar.

El otro punto de mejora es la relación con Microsoft. Este es el punto de mayor desgaste, con mucho, el que más he trabajado los dos anteriores Saturdays de Madrid. Ha ido mal, igual de mal que los otros años, con la diferencia de que en otros años la cuestión del patrocinio acabó bien (2015) y muy bien (2016), este año ha terminado muy mal. Y nada tiene eso que ver con que yo haya estado al margen.

Cuando al final llega el dinero, las penurias se mitigan, como que olvidas lo malo. Hemos cometido el error de no aprender de las experiencias previas, hemos caído en volver a desesperarnos y encima sin final feliz. Esta torpeza nuestra, que puedo decir que durante dos años fue torpeza mía, no debemos repetirla porque corremos el riesgo muy serio de quemarnos.

La clave, para mí, está en hablar desde el comienzo con las personas que pueden tomar decisiones. Sin embargo, no es nada fácil, son docenas de mails, muchas llamadas (muchas llamadas sin respuesta también), muchas reuniones telefónicas que se pueden resolver en 10 minutos juntando a las personas adecuadas. Y son eso, 10 minutos a última hora lo que se tarda cada año en gestionar lo que no somos capaces de cerrar en 4 meses. Es un problema de burocracia quizá, pero sobre todo de dar con las personas que resuelven problemas.

Por ejemplo, la persona de contacto siempre es nueva. Esta vez ha cambiado la última semana, como siempre. ¿Qué puede hacer una persona recién aterrizada para resolver problemas? Nada, salvo contárselos a otra persona. Y en ese tránsito, la cuestión pierde mucha fuerza, lo que nos obliga a tirar de contactos personales que hemos hecho con el tiempo para que intercedan, lo que seguro que no tiene que sentarle bien al que recibe la petición. Tener un interlocutor único, resolutivo y accesible sería la solución. Este año, nuevo cambio organizativo, es Jose Bonín el que está al mando (lo está desde hace nada), desde luego que capacidad para este tipo de cosas tiene más que de sobra. A ver si no delega mucho para esto, que nos irá mucho mejor.

Es muy duro ver cómo Microsoft recorta, en general. Pero que recorte en tu evento escuece mucho. Somos influyentes en la comunidad en general y desde luego en nuestro ámbito, arrastramos muchos usuarios (joder, a 400 un sábado). Ojo, que siguen siendo nuestro mayor benefactor, ya que nos ceden el espacio y lo necesario para abrirlo. Pero creo que pueden, y deben, ir más allá, que para eso les estamos haciendo un excelso marketing de sus productos por el precio de… GRATIS ET AMORE.

Es cierto que muy pocos de los asistentes tienen perfil de toma de decisión, pero que a nadie se le escape que tienen un peso muy alto porque son las bases sobre la que se cimientan todas las soluciones de Microsoft: los que las utilizan. Cada una de esas 400 personas demuestra tener un interés por aprender fuera de lo común, son muy valiosas para el mercado y son las que vuelcan la balanza hacia SQL Server, Azure, PowerBI frente a Oracle, Amazon o Tableau. ¿Por qué limita Microsoft el apoyo a este evento? Incomprensible, pero este año hemos que visto notablemente mermado nuestro alcance al tener que poner de otras partidas la comida y el parking. Es evidente que los asistentes lo han notado, también es cierto que poca queja puede haber al respecto, ya que el evento es gratis, pero aun así, cada cáterin ha sido corto, pero no daba para más. Con mucho, haberlo sabido a escasos 15 días del evento (el año pasado fue incluso más tarde, pero como dijeron que pagaban todo el cáterin, todo fue alegría), sin margen ninguno para obtener más patrocinadores ni para gestionar traer la comida de otra parte, es lo peor de todo.

Ahora eso ya no nos pasará más. Lo que sí nos pasará otra vez será lo de la puerta de acceso a La Finca. Para el año que viene, hemos de afinar muuuucho la cuestión del “registro – Microsoft”. Aquí estamos entre la espada y la pared. Por un lado PASS limita el registro a su plataforma, que no recoge el DNI (dato imprescindible para acceder a La Finca un sábado). Por otro, este año se empeñaron en hacer un registro tipo MS que no ha ido mal. Teníamos que hacer dos como cada año para pedir DNIs, así que lo mismo daba que lo hiciéramos con una encuesta de Google o que lo hiciera Microsoft (o eso pensamos), que era el destinatario final de la información a la postre.

Lo que ha sido desastroso es el envío de los famosos QR a los asistentes (de los que llegaron, casi todos fueron detectados como SPAM) y los listados proporcionados para el acceso a La Finca, donde no estaban muchísimas de las personas re-registradas. De hecho, en los primeros de esa mañana de sábado, ni siquiera estaba yo.

Merecen, eso sí, una alabanza las personas de dentro que sobre el terreno nos ayudan tantísimo año tras año, como Manuel, Sergio y este año Elena. Da gusto trabajar con estas personas.

Tenemos también un apartado que es bueno, pero que se fue de las manos, y pudo ser malo. Es la asistencia. Tener algo más de 500 personas registradas es un exitazo. Pero no medimos, de hecho, tal como estaba el tema planificado hasta el viernes por la mañana, teníamos más culos que asientos en las salas (100 más). Se pudo gestionar para habilitar una sala extra y juntar dos, lo que nos dio la capacidad adecuada.

En cualquier caso, debemos limitar el número de asistentes para no morir de éxito. Ya sabemos cómo es el espacio, y allí 400 no podemos estar. Este año había 500 personas confirmadas (re-registradas). Mucha gente falló a última hora (¿cuántos debidos a que no les llegó el QR?), y eso nos libró de mayores tumultos.

Así que o nos vamos a otra parte, lo que sin que lo descartemos ni mucho menos, no es nada fácil, o fijamos un límite y nos enfocamos a que esté todo perfecto para ese número de personas, que salvo que ocupemos más espacios dentro de las oficinas (que lo hay), tendrán que ser menos de esas 400. Sabemos que cuando las cosas son gratis, se les resta compromiso: Me apunto, confirmo asistencia, pero luego llega el sábado y el despertador a las 6:30 y… Perezón, perezón, como dice uno que yo me sé. Resultado, me faltan 100 identificaciones que completar (porque no me da el dinero para hacerlas todas) y me sobran 100 que no viene nadie a recoger, ya que es igual de gratis apuntarse que borrarse.

Si cobro algo simbólico es quizá peor, porque gestionarlo es una tortura. Así que lo único que se puede pedir a cada persona es seriedad y compromiso, porque otras personas se quedarán fuera por no darse de baja a tiempo.

Aquí viene la lista de agradecimientos. Empiezo por los voluntarios. Este año han escaseado pero a pesar de eso han funcionado muy bien. Tenemos a los de la familia (Rober, Miri, Noe) que allí suman tantísimo, no ya por ser frikis, sino por tener uno cerca. Cómo os queremos. Luego están los “voluntarios” al uso, como Yovany y su pareja y otros más, que el día del evento están allí donde nosotros no llegamos.

Cómo no a los sponsors, Plain Concepts, Kabel y SolidQ, que junto con Microsoft han aportado los fondos para realizar esta aventura. También un recuerdo a los sponsors de años anteriores, ha habido que tirar de hucha. También a los proveedores, como Viena, con María siempre al quite, o el Bar Chacolí, que abrió para nosotros.

Los asistentes, con toda esa paciencia, que son la comunidad, el motivo por el que lo hacemos, y que hacen que nos sintamos como Data Heroes. Mención especial para los que han venido desde lejos o los que han acomodado su agenda a pasar por Madrid este fin de semana, como Ana, a la que me ha alegrado mucho ver de nuevo (con compromiso de tener su bautizo como speaker, con Niko como inductor, en un próximo evento presencial en Madrid).

Sigo por las familias del equipo y las de los speakers, que se quedan en la retaguardia cubriéndonos las espaldas, para que nosotros estemos de risas con los amigos. Lo particularizo en la mía, la que no me vio desde el viernes por la mañana hasta el sábado por la noche, cuando recogió un guiñapo que no podía ni con los zapatos.

Continúo con los speakers. Qué alegría es ver a esta gente, qué pozos de sabiduría. Y verles nerviosos antes de su charla, eso también me gusta. Somos titiriteros aficionados, que nos subimos al escenario a hacer nuestro show como mejor sabemos, vivimos del aplauso más allá del retwit. Aun así, la gran mayoría lo hacemos bastante bien (lo digo sin falsa modestia). Estuve ayer en otro evento (de DB2, es lo que tiene ser bilingüe) y vaya tela. Puedes no ser un experto, pueden fallarte las demos. Lo que no puedes es aburrir, joder. NON PLUS TURRA, que reza el lema de Moderdonia (sí, y lo digo yo que me estoy marcando este post). Los hay brillantes como Miguel, pero creo que no aburrimos ninguno. Echo en falta sesiones más prácticas y menos de deslumbrar. Pero es un equilibrio que difícilmente puedes combatir. En el fondo, hay varios que vienen a venderse, porque deben forjar su marca o porque son el mejor exponente de su empresa, es difícil pedir ahí que se bajen al terruño y se dejen de tanta filigrana en busca de un “Ooooh”.

Después el equipo. Somos pocos, los del núcleo menos, pero empujan como bestias pardas esta comunidad. Me encanta trabajar con ellos, es un privilegio. El año que viene lo haremos mejor (todavía, aún si cabe, a más a más). Y sí, son grandes amigos míos a los que veo muy poco, este contacto por la organización es muy valioso por ese motivo.

Por último, a la persona que este año se ha comido lo suyo y buena parte de lo mío. Trajo SQL Saturday a España y que desde entonces los lidera, aun cuando ya ni vive aquí. Rubén, eres el alma del #SQLSatMadrid. Una de las mejores imágenes del evento es verte en las #sqlBeers cuando finalmente te relajas y la felicidad te desborda por el trabajo bien hecho. Muchas gracias por cubrirme este año. El siguiente lo compensaré, quiera o no, me temo. Te mereces todo lo bueno que te pasa, demuestras lo que se puede lograr cuando se ponen medios a disposición del talento.

Y hasta aquí esta reflexión. Ha sido un SQLSatMadrid diferente, que ha fortalecido la comunidad y puesto en evidencia que nos hemos hecho grandes. Hay que afrontar el futuro con la perspectiva, muy positiva, de llevar futuras ediciones a mayores cotas de calidad. Sabemos cómo, y lo veréis.

Bien es sabido que SQL Server Express carece de Agente de SQL Server. ¿Significa eso que no podemos automatizar nada, ni siquiera los backups? ¿Hay alguna forma de agendar backups en SQL Server Express?

La respuesta es si. Claro que podemos.

No tenemos agente, pero sí tenemos el programador de tareas de Windows (Scheduled Tasks), que nos permite ejecutar comandos con SQLCMD a una hora u horas concretas. Así, primero preparamos nuestro script. Si hablamos de tareas de mantenimiento básicas, lo más eficaz es recurrir a la web del MVP Ola Hallengren, https://ola.hallengren.com/. Tomado del primero de los ejemplos de utilización del procedimiento almacenado de backup, este script que aquí acompaño hace backup de todas las bases de datos de una instancia, comprimidos y verificados:

EXECUTE dbo.DatabaseBackup
 @Databases = 'USER_DATABASES',
 @Directory = 'C:\Backup',
 @BackupType = 'FULL',
 @Verify = 'Y',
 @Compress = 'Y',
 @CheckSum = 'Y',
 @CleanupTime = 24

Con ello preparamos la ejecución de los backups, salvando scripts que luego ejecutaremos. La instrucción que irá en la tarea programada es muy simple:

sqlcmd -S miServidor\nombreDeInstancia -i C:\Scripts\MiScriptDeBackup.sql

Ya que sabemos programar los backups, no hay que quedarse ahí, hay que hacer lo mismo con las reindexaciones, chequeos de integridad, monitorización de esperas, etc. Sin SQL Server Agent es todo más engorroso, pero ni mucho menos imposible realizar una administración completa de una instancia de SQL Server Agent.

Para una guía completa de SQLCMD, dejo link a la ayuda: https://msdn.microsoft.com/es-es/library/ms162773.aspx. También a una guía que incluye la creación de tareas programadas para este mismo fin: https://support.microsoft.com/es-es/kb/2019698.

Y para terminar, he de citarme a mí mismo, ya que mi primera publicación en MSDN versaba sobre la automatización de backups y restores. Ha pasado tiempo, pero el artículo sigue vivo.

https://msdn.microsoft.com/es-es/library/bb972243.aspx

Esta semana se ha hecho público. Soy SQL Server, BI & Big Data External Advisor en MVP Cluster. Y qué menos que dedicarle unas líneas a este tema en este lugar que últimamente no actualizo en demasía.

http://mvpcluster.es/mvpclusterpress/44-noticias-rrhh/170-alberto-lopez-grande-se-incorpora-como-sql-server-bi-big-data-external-advisor-a-mvp-cluster

MVP ClusterPrimero os hablo del proyecto. MVP Cluster es, o mejor dicho, yo he percibido que es, una aventura de unos pocos frikis (como yo) que, cansados del proyecto en “modo infierno”, como ellos lo llaman, montan su propia empresa y empiezan a atraer para sí el talento, mucho talento, para cuidarlo, valorarlo y crecer con él, una decidida apuesta por la calidad.

Que esta forma coloquial de expresarlo no le dé a nadie la impresión de que esto es un chiringuito de cuatro amiguetes, porque no lo es, todo lo contrario. Va muy en serio, un proyecto bien pensado y sólidamente financiado. La idea básica es pocos, pero los mejores, y de un amplio abanico de tecnologías del ecosistema Microsoft, para aportar una calidad diferencial. Debajo un par de capas de buenos profesionales con muchas ganas de crecer con el proyecto y que cuentan con el mentoring de los de arriba. Lo mejor de todo, gestionado por técnicos, muy bregados, pero que son de los nuestros, de los que no tienes que contarles las cosas con muñecos y que empatizan contigo a la primera, porque están igual que tú, se las han comido igual que tú y saben lo que hay y lo que no. Si además van de cara, con total transparencia y con esa ilusión que sólo se da en los inicios imperfectos de las cosas bonitas, en fin, que lo tienen todo y que les va a ir muy bien, con o sin mí. De hecho, ya les va bien.

Mapa de servicios de MVP CusterAsí, en temas de Sharepoint y colaboración en general tienen a varios cracks, aquíson referencia. También en comunicaciones unificadas, en Azure, en ALM, en productividad, formación, etc. Gente joven, creciendo y sabiendo el terreno que pisan.

http://mvpcluster.es/soluciones

“Y si son los mejores, ¿qué pinto yo en esto?”, podrá argumentar el lector crítico y avezado, es decir, casi todos. Fácil. Por un lado, y como los gallegos, en todas partes tiene que haber un DBA. No puedes ir de líder tecnológico por ahí y que cuando lo pongas a funcionar, aquello no se mueva porque el modelo de datos es nada más que regulero. Bueno, salvo en MS. Por otro, en SQL Server y BI, los demás estaban ya cogidos.

http://mvpcluster.es/equipo

A mí me han pillado también a punto de caramelo, con ganas de crecer y aportar de otras maneras. Así que eso haré, echar una mano en lo que pueda ser útil y cuando mis labores en GCO me lo permitan (bueno, y que lo permitan también la familia, los foros de MS, la política, el gimnasio, el fútbol, las cervezas de los viernes y un largo etc.). Quiero también aprovechar para agradecérselo a los que han hecho posible este acercamiento. Y al equipo, que me han dado una acogida muy cariñosa, de esas que hacen que uno se ponga colorado.

En conclusión, mi recomendación para MVP Cluster, socio tecnológico (nota mental: hablar de arquitectura), proveedor de soluciones de Sharepoint, productividad, movilidad, formación y un largo etc., que incluye también SQL Server, BI, Bigdata, y en cuyos proyectos, ya sean específicamente relacionados con el mundo SQL Server o no, como cuestión transversal que es la base de datos, espero poder participar para aportar mi criterio y experiencia. Dejo aquí unos links, también crearé algunos fijos en esta web, para que podáis contactar con ellos o conmigo si hay algo en lo que podamos trabajar juntos.

Hay cosas que a uno sólo te pasan si es MVP. De otro modo, a ver cómo se explica que vaya a ser uno de los ponentes de un SQL Saturday. Es lógico, ya que formo parte del equipo que lo organiza, pero una cosa es estar apoyando en lo que se pueda y otra bien distinta es compartir tablas con rutilantes figuras del calibre de Scott Klein, Peter Myers o Miguel Egea, entre otros.

Alineación del SQL Saturday Barcelona

Alineación del SQL Saturday Barcelona

Y ahí está mi cara, la última, pero no por ello menos orgulloso, tendré mi puesto en el track de administración en el SQL Saturday Barcelona 2014, el 338 de la serie histórica, el primero que se celebre en España. Todo un honor, que además será una buenísima ocasión que tendré de reencontrarme con viejos amigos, estar cerca de los mejores y aprender de ellos todo lo que pueda. La ciudad me encanta, y es también un aliciente, para mí y para todo el que venga. Hay que recordar también que el Tech-ed es justo allí la siguiente semana, habrá mucha gente que pueda aprovechar y pasarse por allí. O eso esperamos, ya que la fecha no la escogimos al azar.

31047e9f-e891-4cef-9e1f-20c39c90ddbe

Barcelona, ciudad del SQL Saturday #338

En esto de la organización, la experiencia está siendo apasionante. De todo ello, la selección de ponentes ha sido lo que más me ha gustado hasta ahora. Había mucho donde elegir y buenísimo, así que ha costado. Lo que sí sabíamos es que el cartel iba a ser de escándalo (no hay más que verlo), con lo que la esencia del evento, que es juntar a la comunidad en una jornada de formación gratuita, tendrá un nivel altísimo. No quiero ni pensar qué precio tendría una conferencia con el caché de cada uno. Pues bien, vienen gratis y se pagan el viaje. Aún así, el tinglado que hay que montar conlleva unos gastos, y seguimos reclutando sponsors que quieran aprovechar la visibilidad de este evento, aquí dejo el enlace. Todos son bienvenidos y desde una cuantía más que modesta:

http://www.sqlsaturday.com/338/sponsors.aspx

Y bueno, ahora estamos preparando la ponencia. En esta ocasión tan especial, hablaré de migración a SQL Server 2014, y no para mostrar cómo se utiliza el instalable precisamente. Eso es el empujón final de un largo camino que hay que recorrer y que empieza por formarse. Qué mejor ocasión que asistir a este SQL Saturday para ello. Regístrate, si aún no lo has hecho, porque será la releche.

http://www.sqlsaturday.com/338/register.aspx

¿Y será irrepetible? Pues esperemos que no, y que sea el primero de muchos SQL Saturday en los que pueda participar. Y si es por aquí cerca (a 600 y pico kilómetros de casa), mejor. De momento, habrá que disfrutar de esta ocasión, por si acaso. Allí espero verte.

La palabra “conocer” es polisémica. Aparte del sentido bíblico, podemos establecer dos niveles. Está “saber lo que es conceptualmente, ser consciente de su existencia” y luego está el nivel “dominar y poseer experiencia en la materia en cuestión”. yo no hace tanto que llegué a ese segundo nivel con OpenQuery. Los que tenemos la “suerte” de lidiar con motores que no son SQL Server, como DB2, estamos acostumbrados a que aquello, vía linked server tal cual (por nombres de cuatro partes), sea un suplicio. Sin embargo, con OpenQuery, le mandas lo que haya que buscar, filtradito, y la diferencia es como la noche y el día. Y lo mismo para leer que para escribir. No hay que olvidar que con OpenQuery estamos enviando la sentencia completa al servidor de destino para que la resuelva él.

Ahora estoy en la fase de, como lo que tengo es un martillo, todo me parece un clavo, y lo último que me he preparado es un recopilador de datos de jobs por esta vía. Es decir, ya no es sólo para acceder a DB2, sino también a otros motores SQL Server. Que se puede hacer de otras formas, que no rinde tan mal incluso directamente, pero como ya le he cogido el truco y la inercia al “select * from OpenQuery(…”, sabe hasta mejor.

Así, la sentencia básica sería:

select 'INSTANCIA' as Server, Job, DiaEjecucion, 
	HoraEjecucion, Duracion, Paso, NombrePaso, Mensaje
from OpenQuery([INSTANCIA], '
select g.name as Job, cast(h.run_date as varchar(20)) as DiaEjecucion, 
	right(''000000'' + cast(h.run_time as varchar(20)), 6) as HoraEjecucion,
	right(''000000'' + cast(h.run_duration as varchar(20)), 6) as Duracion,
	h.step_id as Paso,
	h.step_name as NombrePaso,
	h.message as Mensaje
from (
select j.name,h.instance_id id   
from 
	msdb.dbo.sysjobs j with(nolock) inner join 
	msdb.dbo.sysjobhistory h with(nolock) on j.job_id = h.job_id   
and h.run_status=0    
) g inner join msdb.dbo.sysjobhistory h with(nolock)on g.id = h.instance_id   
where h.step_id > 0 and
	h.run_date >= cast(CONVERT(char(8),dateadd(dd,-1,getdate()),112) as int)') T

 

Y si eso lo hacemos dinámico, empleando los servidores vinculados, volcando el resultado a una tabla, obtenemos lo siguiente (lleva una segunda parte para formatear un HTML que permita enviar el resultado por mail):

create proc [dbo].[Jobs_Fallidos] 
  @pOut varchar(max) = null output, 
  @pDestino varchar(10) = 'Mail', 
  @pTODO_OK bit = 0 output,
  @pFechaHoraDesde smalldatetime = null
  
  as

--Para sólo recuperar los de las últimas x horas
select @pFechaHoraDesde = isnull(@pFechaHoraDesde, dateadd(hh, -14, getdate()))

declare @sql nvarchar(max), @parte_fija nvarchar(max)

select @sql = '', @parte_fija = N'
    select ''#NombreLinkedServer#'' as Server, Job, DiaEjecucion, 
	  HoraEjecucion, Duracion, Paso, NombrePaso, Mensaje
	from OpenQuery([#NombreLinkedServer#], ''
	select g.name as Job, cast(h.run_date as varchar(20)) as DiaEjecucion, 
		right(''''000000'''' + cast(h.run_time as varchar(20)), 6) as HoraEjecucion,
		right(''''000000'''' + cast(h.run_duration as varchar(20)), 6) as Duracion,
		h.step_id as Paso,
		h.step_name as NombrePaso,
		h.message as Mensaje
	from (
	select j.name,h.instance_id id   
	from 
		msdb.dbo.sysjobs j with(nolock) inner join 
		msdb.dbo.sysjobhistory h with(nolock) on j.job_id = h.job_id   
	and h.run_status=0    
	) g inner join msdb.dbo.sysjobhistory h with(nolock)on g.id = h.instance_id   
	where h.step_id > 0 and
	  h.run_date >= cast(CONVERT(char(8),dateadd(dd,-1,getdate()),112) as int)'') T'  


if object_id ('tempdb..#fjobs') > 0
	 drop table #fjobs   
	 
create table #fjobs 
  (Server varchar(15) not null, 
   Job varchar(100) not null, 
   DiaEjecucion char(8) not null, 
   HoraEjecucion char(6) not null, 
   Duracion char(6) not null,
   Paso int null,
   NombrePaso varchar(100) null,
   Mensaje varchar(max) null
   )


select @sql = @sql + replace(@parte_fija, '#NombreLinkedServer#', name) + ' union all
'
from sys.servers where provider = 'SQLNCLI'

select @sql = left(@sql, len(@sql) - 12)

insert #fjobs
exec sp_executesql @sql

delete from #fjobs 
where DiaEjecucion + ' ' + 
  left(HoraEjecucion,2)+':'+substring(HoraEjecucion,3,2) < @pFechaHoraDesde

--Listado de jobs que han fallado
 select cast(h.Server as nvarchar(15)) Server, 
  cast(h.Job as nvarchar(100)) as Job, 
  cast(h.DiaEjecucion as nvarchar(8)) as DiaEjecucion,  
  cast(HoraEjecucion as nvarchar(6)) as HoraEjecucion, 
  cast(Duracion as nvarchar(8)) as Duracion,
  cast(Paso as nvarchar(10)) as Paso, 
  cast(NombrePaso as nvarchar(100)) as NombrePaso, 
  cast(Mensaje as nvarchar(500)) as Mensaje
 from #fjobs h 
 order by Server, Job, DiaEjecucion, HoraEjecucion, Paso 
 

--Apartir de aquí, es un divertimento para enviar un mail con este listado
if @pDestino = 'Mail' and exists(select top 1 h.Server from #fjobs h)  
 begin
  select @pOut = '<html> 
<head> 
<STYLE TYPE="text/css"> 
<!-- 
body{font-family: Segoi UI; font-size: 9pt;} 
TH{font-family: Segoi UI; font-size: 9pt; color: 000099} 
TD{font-family: Segoi UI; font-size: 9pt;} 
---> 
</STYLE> 
</head> 
<body><p>'+ 
  'Jobs Fallidos en las últimas horas:</p>' +    
'<table  border=1 cellspacing=0 cellpadding=3> 
<tr><th>Servidor</th><th>Job</th><th>Dia</th><th>Hora</th><th>Duracion</th>
<th>Step</th><th>Nombre</th><th>Mensaje</th>
</tr>'
 
  select @pOut = @pOut +  ' 
  <tr>' + 
  '<td>' + h.Server + '</td>' + 
  '<td>' + rtrim(h.Job)  + ' </td>' +   
  '<td>' + h.DiaEjecucion  + ' </td>' +   
  '<td>' + left(h.HoraEjecucion,2)+':'+substring(h.HoraEjecucion,3,2) + ' </td>' +   
  '<td>' + left(h.Duracion,2)+':'+substring(h.Duracion,3,2)+':'+right(h.Duracion,2)+''' </td>'+
  '<td>' + cast(h.Paso as varchar(10)) + ' </td>' +
  '<td>' + h.NombrePaso + ' </td>' +
  '<td>' + left(h.Mensaje, 200) + ' </td>' +
  + '</tr>'
  from #fjobs h  
  order by Server, Job, DiaEjecucion, HoraEjecucion, Paso
 
 select @pOut = @pOut + '</table>' + 
 '<p>No responda a este mensaje</p>' +
 '<p>Sistemas de Información.<BR>
 Plus Ultra Seguros.</p>' +
'</body> 
</html>'

 end

if not exists(select top 1 h.Server from #fjobs h) 
 select @pTODO_OK = 1
else 
 select @pTODO_OK = 0

if object_id ('tempdb..#fjobs') > 0
 drop table #fjobs
 
set nocount off

return 0

 

Y bueno, ya está. Hemos hecho uso y abuso de OpenQuery.


Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies