HTML/CSS Válido

ZasSoy de los que intento (digo intento, porqué esta misma web no está totalmente corregida :P) pasar mis webs por el validator para intentar corregir errores y dejar mi página con código tanto HTML como CSS, válido.

Más que nada, para cumplir los estándares, e intentar que mi sitio se vea bien en los navegadores que respeten estos estándares. Y si además, esto influye de forma positiva en el SEO (como así creo), pues mejor que mejor.

La cuestión, es que estaba acabando de revisar una página en la que tenía unos errores de validación (algún tag sin cerrar y demás) cuando al finalizar la corrección veo que el validar me devuelve aún 3 errores. Curiosamente 3 errores que no forman parte de mi código. ¡Yo no he programado eso!. Pues nada, resulta que mi hosting incluye un código para llevar a cabo la tarea de contar visitas.

He aquí el código HTML añadido que me está causando los 3 errores de validación HTML que tengo:

<script type=«text/javascript» srchttp://analytics.hosting24.com/count.php«></script>
<noscript><a href=»http://www.hosting24.com/»><img src=»http://analytics.hosting24.com/count.php» alt=»web hosting» /></a></noscript>

Mi hosting, sin embargo, permite deshabilitar este código desde este enlace. De esta manera, obtengo una página válida 100%, pero pierdo las estadísticas de visitas.

Me parece a mi, que la solución va a ser deshabilitar las estadísticas que me introduce el hosting, y darme de alta en google analytics o alguno similar, introduciendo el código a mano en mi web, en el lugar en que debe estar. De esta manera, espero continuar con las estadísticas de visitas a la vez que consigo tener un código 100% válido.

Esa es la teoría, ahora a ver si lo consigo.

Flickr! Foto por Angel mat-eye

BBDD – Mantenimiento

Bueno, hace ya bastante desde la última vez que escribí. Y como vengo con las manos vacías, he decidido recuperar una pequeña guía que escribí (para mi mismo) sobre el mantenimiento de una base de datos en SQL Server 2005.

En realidad, se trata de un resumen de un vídeo que adjunto en la fuente del final del post. Ahí va ese copy&paste:

Planes de mantenimiento

SQL Server 2005 incorpora la opción de “planes de mantenimiento”, que permiten mediante un asistente realizar tareas de mantenimiento de forma automatizada. Sin embargo, no siempre nos interesará realizar estas tareas de forma automatizada, y probablemente habrá ocasiones en que será necesario o preferible realizarlas de forma manual.

Esta guía pretende dar algunas pinceladas sobre conceptos de mantenimiento de bases de datos en SQL Server.

Hardware
Lo primero que hay que tener en cuenta, es que el mantenimiento de una base de datos también dependerá del hardware de la máquina sobre la que se aloje el SQL Server, en parte debido al elevado consumo de memoria requerido para realizar este tipo de tareas, pero sobretodo, especialmente al realizar tareas de:

  • Backups
  • Reorganización/recreación de índices

Hay que tener en cuenta si tenemos suficiente hardware como para poder realizar este tipo de tareas, y en cualquier caso, planificarlas para cuando el servidor esté en sus mínimos niveles de utilización.

Verificando las bases de datos con DBCC
SQL Server viene con varias sentencias DBCC de verificación de bases de datos, de entre las cuales destaca:

  • DBCC CHECKDB: esta sentencia muestra cuántas filas y páginas tiene cada tabla de una determinada base de datos, indicando errores de asignación y consistencia, sin bloquear. Realmente, esta sentencia ejecuta lo que en SQL Server 2000 sería:
    • CHECK ALLOC
    • CHECK CATALOG
    • CHECK TABLE

Con DBCC CHECKDB se pueden verificar cualquiera de las bases de datos de sistema (Máster + recursos, Model, MSDB y Tempdb, aunque esta última con bloqueo a nivel de tablas), así como las de usuario.

Fragmentación
Uno de los principales problemas de rendimiento viene dado por la fragmentación de los datos de la base de datos. Para evitarla, en medida de lo posible, será conveniente:

  • Crear de inicio del archivo de la base de datos lo suficientemente grande como para satisfacer las necesidades de espacio futuras.
    • No permitir el “autogrow” del fichero.
  • En muy pocas ocasiones se debería hacer uso de la opción “Shrink”, ya que se trata de una operación muy costosa que provoca una gran fragmentación tanto de datos como de índices. Se recomienda usar, en estos casos:
    • DBCC SHRINKDATABASE, cuya única limitación es que nunca podremos reducir la base de datos más allá de su tamaño de creación.

NOTA: a esta función se le puede pasar un parámetro numérico que indica el porcentaje de espacio disponible que se desea dejar en el archivo de la base de datos después de reducir la base de datos.

Finalmente, no hay que olvidar los problemas relacionados con:

  • Fragmentación lógica, referente al orden de las páginas de una tabla.
  • Fill Factor, o factor de llenado de las páginas (parámetro modificable).

Trabajo con índices
En cuanto a los índices, existen dos tipos de operaciones posibles:

  • ALTER INDEX REBUILD: operación online que actualiza estadísticas, pero que provoca una gran transacción (deberemos asegurar suficiente espacio en el log de transacciones, ya que además no lo podremos limpiar hasta que la operación no finalice) y que puede llegar a consumir una gran cantidad de recursos.
    • Recomendable únicamente cuando el porcentaje de fragmentación de los índices supera el 30%.
  • ALTER INDEX REORGANIZE: operación que en este caso no actualiza estadísticas (aunque normalmente no necesitaremos actualizarlas en ningún caso, ya que siempre viene habilitada la opción AUTO-UPDATE STATISTICS con las instalaciones de SQL Server).
    • Uso para índices poco fragmentados (porcentaje menor al 30%).

Únicamente deberemos realizar este tipo de trabajo cuando sea realmente necesario, con lo cual será conveniente comprobar el nivel de fragmentación de los índices antes de ejecutar cualquiera de las dos operaciones anteriores.

Backups
Será recomendable tener una buena política de backups, aunque de igual forma, será aún más recomendable realizar comprobaciones de la validez de los mismos:

  • RESTORE VERIFYONLY nos permitirá realizar una verificación de un archivo de backup, asegurando su funcionamiento ante un posible restore.

Hay que tener en cuenta que es una buena práctica ir eliminando los archivos de backup obsoletos, tanto del disco como del registro generado en el MSDB.

Otras consideraciones
Finalmente, únicamente indicar que el orden en el que se ejecutan las acciones de mantenimiento puede influir y mucho en el resultado de nuestro plan. De esta manera por ejemplo, no tendrá sentido realizar una reindexación de índices y a continuación un shrink, debido a que ésta última operación volverá a fragmentar los índices de la tabla.

Igualmente, se deberá tener en cuenta la existencia de operaciones incompatibles para realizarse de forma paralela, como por ejemplo una reindexación de índices y un CHECKDB.

Fuente
Mantenimiento de bases de datos en SQL Server 2005
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=es-CO&EventID=1032346791&CountryCode=CO

Kindle 2 review

Kindle 2

Ayer me llegó el Kindle 2 de Amazon, el famoso lector de eBooks de la archiconocida tienda de compras por Internet. La verdad es que me recuerda a un ipod en grande; blanco mate en la cara frontal y plateado en la posterior. Hay que decir que es mucho más bonito que la primera versión del Kindle que sacaron, que tenía un aspecto bastante prehistórico, para mi gusto.

Lo primero, el Kindle viene perfectamente empaquetado y protegido en una caja de cartón hecha a medida. Viene con un cable de mini-usb a usb, con un adaptador usb a corriente tipo americano, con lo que no sirve para conectarlo a la corriente en España. Sin embargo, podemos comprar un adaptador USB a corriente tipo Española, o un adaptador americano – europeo, o simplemente (como he hecho yo), conectar el Kindle a un puerto USB del ordenador, que éste ya sirve para cargar. Por USB, en un par de horas tienes el Kindle cargado al máximo y listo para funcionar ininterrumpidamente durante 2 semanas (o eso dicen).

Lo segundo ha sido buscar la forma de crear directorios en el Kindle, puesto que tenía varios archivos pensados para subir, pero quería mostrarlos de forma ordenada en mi nuevo gadget. No habido suerte, ya que el Kindle no soporta de forma nativa la creación de carpetas para ordenar los ficheros, incluso sabiendo que el Kindle 2 puede almacenar hasta 1500 documentos. Sin embargo hay algunas alternativas que se proponen en la red como por ejemplo usar tags para clasificar los documentos.

Una vez hecho esto, ha llegado el momento de subir documentos. Hay varias formas de hacerlo, entre ellas, la de subir directamente el documento al Kindle como si fuera un disco duro más del PC, a través del cable USB, arrastrando y soltando el archivo. Sin embargo, así no se aprovecharán las funcionalidades del Kindle, como cambiar el tamaño de letra o realizar anotaciones, y para eso, es preferible convertir el documento a formato Kindle antes de subirlo. Para ello, tenemos varias opciones:

  • Enviar el documento por email a tu cuenta de Kindle, para que se convierta de forma automática y se envié a tu Kindle sin necesidad de estar éste conectado al PC, con un coste de unos céntimos de euro.
  • Enviar el documento a tu cuenta gratuita de Kindle, para que se convierta también de forma automática, pero en este caso, sin que se envíe directamente al dispositivo. En lugar de eso, Amazon responderá nuestro correo con un enlace donde poder descargar el archivo convertido, para posteriormente subirlo por cable USB.
  • Usar un programa que permita convertir directamente un archivo al formato usado por el Kindle.

He empezado por enviar un pdf de 5KB a mi cuenta gratuita de Amazon, para comprobar el tiempo de respuesta y sobretodo conocer el formato final. Al cabo de unos 30 segundos se me ha enviado un email con el enlace a un archivo .azw de 3,4KB.

En cuanto a mi opción preferida (la tercera), he empezado probando el MobiPocket Creator (la edición Publisher, puesto que la Reader no nos servirá), siguiendo los pasos de este video, pero el resultado no ha sido muy bueno. También he probado Stanza, que ha dejado el archivo resultante en un formato que dejaba un poco que desear, y Auto Kindle (o Kindle Auto eBook Converter), que me ha devuelto un archivo .mobi funcional, pero con los saltos de línea mal ubicados, y sin imágenes.

Finalmente he enviado el mismo archivo pdf a mi cuenta de Kindle para que me lo transformara automáticamente, y se me ha devuelto (a los pocos segundos) un archivo .azw (de 1 MB en lugar de los 4MB originales) pero con un formato parecido al obtenido con el software conversor. Así que visto lo visto, descarto continuar usando este servicio, más lento y engorroso, sobretodo si tenemos varios archivos que queremos convertir.

El problema de subir directamente pdfs, es que no puedes cambiar el tamaño de la letra ni hacer anotaciones, pero puedes cambiar la orientación de la pantalla y sobretodo, se mantiene el formato original del archivo, con imágenes y espacios. Así que aquí se presenta una primera disyuntiva: ¿subir directamente el archivo PDF o transformarlo a formato Kindle para aprovechar al máximo sus funcionalidades extra? La respuesta dependerá del para qué se quiera usar ese pdf.

Aún me queda mucho por probar, ya que apenas he trasteado con él un par de horas, pero a simple vista, parece un trasto de lo más útil, ya que es como redescubrir Internet y sus posibilidades (ahora tengo al alcance cientos de miles de documentos que podré leer sin necesidad de destrozarme la vista o arrasar con unos cuantos árboles, sin mencionar el ahorro en novelas y demás libros convencionales), sin embargo, también parece claro que Amazon tiene que ponerse las pilas para mejorar algunos aspectos de su software, que ayuden al usuario a sacar un mayor provecho del Kindle.

Notas rápidas del MCSA

Nerd
Bueno, después de más de cuatro meses asistiendo a clases para la certificación MCSA de Microsoft, he decidido compartir algunas anotaciones interesantes que se han visto durante el curso, aunque no entran en el temario del mismo. Así que prepararos para una entrada bastante técnica, pero muy útil (o eso espero) para la gente de sistemas:

  • Servidor de ficheros: una buena idea es tener discos «hot swap», para poder reemplazarlos sin necesidad de parar el servicio, en caso de necesidad. Esto no nos sirve, si lo que falla es el disco donde tenemos el sistema operativo; para ello, usaremos 2 discos en espejo.
  • Discos duros: básicamente hablamos de discos SATA y discos SCSI (llamados SAS actualmente). Estos últimos son los recomendados siempre en entornos de empresa, puesto que el rendimiento es mucho mejor a pesar de que el pico de rendimiento puede ser mayor en discos SATA, aunque únicamente en picos puntuales.
  • DMZ: nunca se deberían facilitar accesos directos al exterior desde la red interna. Para ello, usaremos máquinas que harán de intermediarios para los servicios requeridos (como DNS, correo, web, etc.) que se ubicarán en esta DMZ. Estas máquinas perimetrales, no deberían ser miembros del dominio, por temas de seguridad.
  • Servidor Radius/IAS: Montaremos un servidor Radius cuando 1) queramos centralizar ahí las directivas de acceso remoto o 2) queramos autentificar equipos contra servidores que no estén en Directorio Activo
  • NAS vs SAN: entre otras, la diferencia principal es que NAS tiene un sistema operativo que hace toda la gestión, mientras que SAN únicamente comparte disco.
  • Siempre que podamos, intentaremos deshabilitar (no quitar) los componentes no estrictamente necesarios (USB, CD, ciertos tipos de archivo anexos en correos electrónicos, etc.)
  • NetBios: hoy en día, si podemos, deshabilitaremos Netbios en nuestra red. Con ello, deshabilitaremos también la función «Mis sitios de red», ya que únicamente se verá nuestro propio equipo. Los usuarios, por tanto, tendrá que usar la búsqueda por Directorio Activo para encontrar recursos compartidos, impresoras, usuarios, etc. Esto lo haremos, puesto que si tenemos muchos equipos, NetBios puede llegar a colapsar la red.
  • Directorio Activo: agarraos …
    • No montaremos un árbol de dominios con más de 3 niveles de profundidad, puesto que más niveles hacen inviable su gestión.
    • Montaremos un mínimo de 2 Controladores de Dominio por dominio.
    • Antes de montar Directorio Activo, deberemos tener muy claro para qué lo queremos, y siempre, primero se hará la estructura sobre papel.
    • Las cuentas de los usuarios que dejan la empresa, no deberán borrarse en los siguientes 5 años, por temas legales.
    • Los permisos se darán siempre a nivel de grupo.
  • Alto rendimiento: para alto rendimiento, usaremos (si el bolsillo lo permite) una cabina de discos, y montaremos el RAID por hardware que nos permita la cabina.
  • Además, usaremos fibra para la conexión gigabyte, o en su defecto, iSCSI.
  • Auditoría: la auditoría ha de habilitarse para empezar a registrar eventos. Lo que se ha hecho antes de habilitar la auditoría no se podrá auditar. En cualquier caso, para auditar necesitaremos:
    • Directivas: habilitar la directiva de auditoría necesaria, y
    • Recurso: habilitar el recurso que quiero auditar e indicar qué se quiere auditar.
  • Clústers: siempre que podamos, montaremos Clústers con Windows 2008 en lugar de con Windows 2003, por temas de compatibilidad.
  • Tarjetas de red TEAM: este tipo de tarjetas que soportan TEAM, permiten funcionar juntas como una sola (una máquina puede tener por ejemplo 4 tarjetas TEAM a 1 GB cada una, funcionando como una única tarjeta). Ésto nos permitirá usar cada tarjeta para una comunicación. Así, si por ejemplo estamos trabajando con una única comunicación por ejemplo copiando una ISO de 8GB, únicamente estaremos usando una de las tarjetas (a 1GB máximo). Sacaremos provecho al TEAM cuando estemos usando varias comunicaciones de forma simultánea.

¡Espero que os sea de utilidad!

Flickr! Foto por elvissa

Crystal Reports e impresión en A4

sawing

Desde hace tiempo, trabajamos con Crystal Reports para generar informes con datos de bases de datos SQL Server. Por defecto, este tipo de aplicaciones, como Crystal Reports, al parecer ajustan la vista tanto de diseño como de previsualización, al área definida en la impresora predeterminada configurada en el PC desde el que se trabaja. Es decir, si estamos trabajando con un ordenador que tiene configurada una impresora predeterminada, configurada a su vez para imprimir por defecto en A3, esto afectará directamente a Crystal Reports, que por defecto nos mostrará un área de diseño y previsualización, también de tamaño A3.

Alguna vez nos hemos encontrado, que la vista de diseño del informe ha resultado ocupar un área de impresión mayor que la definida en la impresora predeterminada, y hemos necesitado cambiar la impresora predeterminada por algún programa como PDF Creator, con el área de impresión definida para nuestras necesidades.

El problema, es que cuando desde Crystal Reports se exporta a PDF el resultado del informe, se imprime con el tamaño definido en la impresora, que a su vez, hemos adaptado para que tenga un tamaño “no estándar”. Esto se puede solucionar, usando un programa gratuito, como PDF-XChange Viewer, que permite imprimir sobre PDF seleccionando la opción de escalado “Organizar las páginas largas”, la cual parte el fichero PDF original adaptándolo al tamaño de impresión, permitiendo imprimir, por ejemplo el fichero en varias páginas A4.

Seguramente habrá formas más sencillas de hacer este proceso. Si es así, no te cortes y propónlas 😉

Flickr! Foto por Bitterjug

Migración de hosting

Ya hacía tiempo que quería cambiar de hosting, y he aprovechado estas fechas tal señaladas para realizar la migración de mi web de un proveedor de hosting a otro. Me he decidido por 000webhost.com, después de pasar los últimos 2 años con 1and1, en su plan de bienvenida.

Durante estos dos años en 1and1, no he tenido problemas, a excepción del acceso con cliente FTP, que se ha llegado a hacer tedioso e incomprensiblemente lento y “fallón”.

En cuanto al nuevo proveedor, 000webhost.com, para mis necesidades tiene sus ventajas e inconvenientes. Como ventaja principal, tiene un plan gratuito que parece tener buena pinta. Como desventaja, su utilidad fantástico para la instalación «sencilla» de programas como «WordPress» no funciona, y lleva así un buen tiempo (tanto, que empiezo a pensar que únicamente les funciona el fantástico a los usuarios con cuentas de pago).

En cualquier caso, para la migración manual del WordPress, he seguido estos pasos:

  1. Descargar la última versión de todos los archivos de WordPress de mi antiguo servidor.
  2. Realizar un backup de la base de datos con un el plugin de wordpress wp-database-backup (que ha resultado no funcionar).
  3. En el nuevo hosting, crear una base de datos mysql cualquiera desde el cPanel de 000webhosts, para alojar la base de datos de Wordress (al finalizar la creación aparece el resumen de los detalles que necesitaremos para la instalación manual de Wordress).
  4. Subir por FTP todos los archivos de WordPress al nuevo servidor.
  5. Modificación del archivo config.php de WordPress, para usar los detalles de la base de datos creada en el punto 4, siguiendo estas indicaciones.
  6. Subir el archivo config.php al servidor.
  7. Ejecutar https://helloit.es/wp-admin/install.php
  8. Seguir el asistente, para al finalizar, tener nuestro nuevo blog vacío pero funcionando.
  9. Entrar con phpMyAdmin a la administración del antiguo blog, y realizar un backup por defecto de las tablas de WordPress.
  10. Editar la consulta sql generada para reemplazar todas las alusiones a mi anterior hosting por el nuevo (buscando http://s229103401.mialojamiento.es y reemplazando por https://helloit.es). Eliminar todas las querys del tipo CREATE TABLE para dejar únicamente las del tipo INSERT INTO.
  11. Entrar con phpMyAdmin a la administración del nuevo blog, y vaciar (que no eliminar) todas las tablas de la base de datos de WordPress (pero sin remover la base de datos).
  12. Ejecutar la sentencia sql modificada con el backup del blog.

Después de realizar todos estos pasos, he conseguido migrar el blog de un hosting a otro, al parecer, con éxito. Finalmente, he necesitado modificar mi registro DNS para que mi dominio apunte a la ip del nuevo servidor.

Ahora tocará postear, más a menudo 🙂

– Toc, toc. -¡Ocupado!

Busy Hace poco me llamaron diciendo que una determinada página web no funcionaba. Efectivamente así era. Entramos en el servidor web en cuestión (Windows con IIS) y probamos de ver la página de bienvenida del IIS, que tampoco funcionaba. Después de algunas comprobaciones, vimos que teniendo el servicio IIS parado (y por tanto sin tener la web publicada), el puerto 80 estaba ocupado por otra aplicación. ¿Pero, por cual? Lo único que sabía, gracias a netstat -an era que efectivamente nuestro puerto 80 estaba escuchando.

Para descubrir qué aplicación nos estaba fastidiando el puerto 80, bajé una aplicación de Microsoft, llamada TCPView , que no nos sirvió para nada. La verdad es que es una herramienta gráfica, que refresca en tiempo real las conexiones de la máquina, pero que no nos mostraba nada sobre determinados puertos, entre ellos, el puerto 80.

Navegando llegué a esta página, donde explicaban como usar netstat para sacar el identificador del proceso (pid) correspondiente a cada conexión. Si lo juntamos con el comando "find", podemos sacar únicamente por pantalla las conexiones que están en estado "escuchando".

netstat -ano | find /i "listening"

Una vez hemos identificado el pid del proceso que nos tiene el puerto 80 ocupado, podemos utilizar una pequeña herramienta llamada PUList , que viene con el Windows 2000 Resource Kit, pero que podemos bajar de forma totalmente independiente (aunque atención, nos pedirá validar Windows). En el ejemplo (sacado directamente de la página del autor del post original), querremos buscar el nombre del proceso (que es lo que devuelve pulist) con pid "6372"

pulist |find /I "6372"

He de decir que el comando find, solo nos ayudará a acotar las salidas de los comandos que realmente necesitamos, que son "netstat -ano" y "pulist".

Con esto podremos identificar el proceso, y hacer una búsqueda en google para saber más sobre él, o directamente, abrir el administrador de tareas para finalizar dicho proceso.

Flickr! Foto por Alaskan Dude

¡Argh! ¡No funciona Internet!

Fear ¿Qué pasa cuando llegas a la oficina y…? ¡argh! ¡No funciona Internet ! Muchas cosas se te pasan por la cabeza, pero cuando descubres que tampoco responde a ping el servidor dns interno… La cosa cambia.

Ya no es un problema de conectividad o de red, que puede ser debido al switch, firewall, router, cables, ISP, etc. La cosa se centra únicamente en el servidor dns. Ese es el momento de levantarse e ir a la sala de servidores a mirar qué pasa (recordemos que el servidor no responde, así que tampoco debería funcionar el control remoto: no hay más remedio que levantarse).

Una vez en el cpd, se agradece haber etiquetado todos los servidores, y más aún ver que el servidor dns no tiene la luz encendida… ¿¡está apagado!? Pues sí, ese es el problema.

Después de encenderlo y comprobar que todo vuelve a la normalidad, después de este acto casi heroico que ha requerido de esta infinidad de conocimientos técnicos (léase, apretar el botón de encendido), toca ver qué ha pasado.

En los logs de Windows del "Event Viewer " del servidor, dentro de "System Logs " se podrá observar cuándo se apagó y cuando ha vuelto a encenderse. Por ejemplo, el último evento registrado en los logs antes de apagarse, dice "The Event log service was stopped ". Mirando un poco antes, se observa como se van deteniendo algunos servicios hasta que se llega a una entrada que tiene como origen "Windows Update Agent ". Examinando dicha entrada, se aprecia la siguiente descripción:

Restart Required: To complete the installation of the following updates, the computer will be restarted within 5 minutes:
– Cumulative Security Update for Internet Explorer 6 Service Pack 1 (KB963027)
– Security Update for Windows 2000 (KB959426)
– Security Update for Windows 2000 (KB923561)
– Windows Malicious Software Removal Tool – April 2009 (KB890830)
– Security Update for Windows 2000 (KB960803)
– Security Update for Windows 2000 (KB952004)

¡Fantástico! Las actualizaciones de Windows, estaban configuradas como automáticas, con permisos de descarga e instalación gestionados por Windows Update… Así que con la última publicación de las actualizaciones de Windows, el servidor se ha descargado e instalado dichas actualizaciones, con el posterior reinicio. ¿Reinicio? ¿Por qué no se ha reiniciado el PC? ¿Porqué se ha apagado directamente?

Una vez detectada la causa (otra cosa es ver quien o qué ha cambiado esto), es turno de la solución. Simplemente se vuelven a dejar las actualizaciones de Windows con permisos de descarga pero no de instalación, o si se dispone de algún programa de gestión centralizada de parches, pues entonces ni eso.

Flickr! Foto por herby_fr

Usuario ‘sa’ bloqueado

Database Por primera vez me encontré el otro día, con un SQL Server 2005 que daba un error de "usuario bloqueado" al intentar loguear con el usuario administrador "sa", al SQL Server Management Studio. ¿Usuario administrador bloqueado? ¿Y ahora cómo consigo permisos para desbloquear a un usuario administrador? :S

Por fortuna, el SQL Server tenía habilitada la autentificación en modo mixto, así que podía entrar tanto por autentificación SQL como por autentificación Windows (usando las credenciales del usuario local o de dominio). Dicho y hecho. Con el usuario administrador local conseguí entrar al SQL Server Management Studio sin problemas. Pero faltaba desbloquear al usuario "sa".

Desde la interfaz gráfica del Management Studio se puede desclickar el checkbox "usuario bloqueado" pero (aun no entiendo el porqué), si desmarcabas y guardabas, continuaba estando marcado, aún cuando además cambiabas el password. Así que de esta manera no se conseguía resolver el problema.

Finalmente, encontré esta sencilla instrucción en esta web , que solucionó al momento el problema:

ALTER LOGIN sa WITH PASSWORD = ‘password’ UNLOCK

Espero que os sea útil.

Flickr! Foto por Tim Morgan

Facebook… ¿seguro?

Search & DestroySí, lo reconozco, yo también formo parte de Facebook. Esa peazo red social que permite organizar cenas con los colegas que no veías en años (a las que no suelo poder asistir).

Hoy me he puesto a mirar y tengo realmente muchas solicitudes (de estas que te instalan aplicaciones externas a facebook) de las cuales nunca he aceptado ninguna. Nunca me ha dado demasiada seguridad este tema, así que hoy me he puesto a perder 10 minutos googleando a ver que pasa con este tipo de aplicaciones. (Otro día si acaso hablamos de los datos personales que se introducen en los perfiles de los usuarios, que corresponden a sus contraseñas del hotmail y demás, o de las búsquedas de información que hacen las empresas especializadas cuando necesitan conocer más a fondo a algún empleado).

Símplemente buscando por "seguridad aplicaciones facebook" aparecerán cientos de páginas comentando este problema. Básicamente todas hablan de lo mismo, de lo que se puede leer en Facebook Noticias en donde admiten un problema de seguridad con este tipo de aplicaciones, según un estudio de la compañía Sophos, debido al hecho (acertado bajo mi punto de vista) de permitir que cualquiera pueda crear sus propias aplicaciones y compartirlas en la red social. Muchos medios se hacen eco, aunque en facebook no parece hablarse del tema.

Desconozco hasta qué punto este problema lo es como tal. Que cada cual haga lo que quiera con sus datos en las redes sociales. Yo por si acaso voy a ir borrando mi número de cuenta de mi perfil.

Flickr! Foto por ptufts