Black log

Estamos de aniversario

Escrito por soraya el 09-05-2012

Esta semana estamos de aniversario. Blackslot cumple 3 años.

Esta nueva entrada en el blog queremos dedicárosla a todos vosotros porque sois los que hacéis posible este proyecto.

Sois quienes nos hacéis sonreír cuando os escuchamos decir que “se han desbocado los procesos” o que se “ha descompuesto el equipo” o que… “se han desparramado las DNS”.
Nos hacéis darnos cuenta de la gran conexión que hay entre el mundo tecnológico y la vida cotidiana, que aunque parezca que hablan lenguajes diferentes, creednos, no es así.

Sois quienes nos permitís ilusionarnos y quienes nos sorprendéis cada día haciéndonos ver que no todo está inventado en Internet.

A todos vosotros, GRACIAS.

Sin comentarios | Archivado como General | 09/05/2012

Reparar una base de datos corrupta en Sql Server (Parte II)

Escrito por Sergio Sainz el 02-05-2012

Anteriormente veíamos como reparar una base de datos. Si el estado es cualquiera de los otro dos (REPAIR MODE o EMERGENCY), entonces tendremos que recurrir a otro tipo de apaños. En mi caso he experimentado el problema tras tratar de recrear un nuevo transaction log para una bbdd, pero también puede servir en casos en el que el archivo de datos este dañado.

Voy a indicar lo que hice para reproducir el problema. Separé una base de datos y borré su .LDF, luego al adjuntarla obtenía este error:

Error al adjuntar las bases de datos. Haga clic en el hipervínculo de la columna de mensajes para obtener más información.

Crearlo a mano no es muy buena idea según nos muestra el siguiente error:

The operating system returned error 38(Se ha alcanzado el final del archivo.) to SQL Server during a read at offset 0000000000000000 in file ‘C:Archivos de programaSWsoftPleskDatabasesMSDEMSSQLDatasergiodb_log.ldf’. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. (Microsoft SQL Server, Error: 823)

Dado que no era posible adjuntar la bbdd, el siguiente paso fue renombrar el archivo de datos sergiodb.mdf por sergiodb_bak.mdf y crear una nueva base de datos con el nombre sergiodb. Con esto obtenemos un nuevo mdf y un ldf limpio.

El siguiente paso fue detener SQL Server y sobrescribir sergiodb.mdf por el bueno e iniciar de nuevo SQL. Con esto se produce el siguiente error al intentar por ejemplo ver las propiedades de la bbdd:

Unable to open the physical file “C:Archivos de programaSWsoftPleskDatabasesMSDEMSSQLDatasergiodb.mdf”. Operating system error 5: “5(Acceso denegado.)”. (Microsoft SQL Server, Error: 5120)

Tras dar permisos NTFS al archivo de datos, el error cambiaba a:

Database ‘sergiodb’ cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details. (Microsoft SQL Server, Error: 945)

Con todo esto el estado de mi BD era RECOVERY_PENDING

SELECT state_desc FROM sys.databases WHERE name =‘sergiodb’;

SOLUCION

ALTER DATABASE sergiodb SET EMERGENCY ;– lo primero que haremos es pasar la bbdd del modo “RECOVERY_PENDING” al modo “EMERGENCY” (es necesario tener privilegio de sysadmin)

ALTER DATABASE sergiodb SET SINGLE_USER ;– La ponemos en modo de usuario único.

DBCC CHECKDB (sergiodb, REPAIR_ALLOW_DATA_LOSS )WITH NO_INFOMSGS ;– Chequeamos la bd con la opción REPAIR_ALLOW_DATA_LOSS

ALTER DATABASE sergiodb SET MULTI_USER ;– Por ultimo la ponemos en modo multiusuario

Ahora debería estar en modo ONLINE y funcionando.

Sin comentarios | Archivado como Sistemas TI | 02/05/2012

Reparar una base de datos corrupta en Sql Server (Parte I)

Escrito por Sergio Sainz el 25-04-2012

Debido a múltiples circunstancias como cortes eléctricos inesperados, problemas de espacio en disco, fallos de hardware, que hayas borrado el archivo de log (.ldf), etc. Una bbdd puede corromperse, normalmente la mejor manera de solucionar esto es recurrir a la última copia de seguridad pero como puede ocurrir en estos casos no hay copia o la que tenemos disponible es ya algo vieja. En esos casos quizá aún podamos recuperar la información.

Una bbdd puede tener estos estados (LINK):

  • ONLINE: La base de datos está disponible para su acceso. El grupo de archivos principal está en línea, aunque la fase de deshacer de la recuperación puede no haberse completado.
  • OFFLINE: La base de datos no está disponible. Una base de datos pasa a estar sin conexión por la acción explícita del usuario y permanece sin conexión hasta que el usuario toma otra acción. Por ejemplo, la base de datos puede desconectarse para mover un archivo a un nuevo disco. La base de datos se vuelve a poner en línea una vez completado el traslado.
  • RESTORING: Uno o varios archivos del grupo de archivos principal se está restaurando, o uno o varios archivos secundarios se están restaurando sin conexión. La base de datos no está disponible.
  • RECOVERING: Se está recuperando la base de datos. El proceso de recuperación es un estado transitorio, la base de datos se pone automáticamente en línea si la recuperación tiene éxito. Si la recuperación no tiene éxito, la base de datos pasa a ser sospechosa. La base de datos no está disponible.
  • RECOVERY PENDING: SQL Server ha encontrado un error relacionado con un recurso durante la recuperación. La base de datos no está dañada pero pueden faltar archivos o bien limitaciones de recursos del sistema pueden estar impidiendo que se inicie. La base de datos no está disponible. Se necesita una acción adicional por parte del usuario para resolver el error y permitir que se complete el proceso de recuperación.
  • SUSPECT: Como mínimo un grupo de archivos principal es sospechoso y puede estar dañado. La base de datos no se puede recuperar durante el inicio de SQL Server. La base de datos no está disponible. Se requiere una acción adicional por parte del usuario para resolver el problema.
  • EMERGENCY: El usuario ha cambiado la base de datos y ha establecido el estado en EMERGENCY. La base de datos está en modo de usuario único y se puede reparar o restaurar. La base de datos está marcada como READ_ONLY, el registro está deshabilitado y el acceso está limitado a miembros de la función fija de servidor sysadmin. EMERGENCY se utiliza principalmente para solucionar problemas. Por ejemplo, una base de datos marcada como sospechosa se puede establecer en el estado EMERGENCY. Esto puede permitir al administrador del sistema acceso de sólo lectura a la base de datos. Sólo los miembros de la función fija de servidor sysadmin pueden establecer una base de datos en el estado EMERGENCY.

Cuando se corrompe la tendremos seguramente en Online, Recovery pendingSuspect.

Puedes ver el estado de la BD utilizando esta consulta (sustituye blackslotdb por la bd a consultar):

SELECT state_desc FROM sys.databases WHERE name = ‘blackslotdb’;

Si la bd está en estado ONLINE, lo más fácil es intentar un checkdb con la opción REPAIR_ALLOW_DATA_LOSS.

DBCC CHECKDB (MAGIC, REPAIR_ALLOW_DATA_LOSS)WITH NO_INFOMSGS

Más info en http://technet.microsoft.com/es-es/library/ms188422.aspx

En la segunda parte de este post comentaremos como reparar si la bd se encuentra en alguno de los otros 2 modos o no se puede adjuntar.

Sin comentarios | Archivado como Sistemas TI | 25/04/2012

El pasado 31 de marzo se celebró el Día Mundial del Backup

Con este día se pretende concienciar a los usuarios sobre la importancia de disponer copias de respaldo de sus datos.

Hemos querido publicar este post sobre backup y otras medidas de seguridad para el alojamiento de contenido en servidores remotos,  para rendir homenaje a este día.

BACKUP

Recomendaciones:

-    Antes de contratar servicios de alojamiento en una empresa de hosting, consulta si éstos incluyen backup
-    Si los datos que vas a alojar son especialmente sensibles,   infórmate sobre el grado de seguridad que debe cumplir su salvaguarda (deduplicación de backup, encriptación, lugar del datacenter, etc.) y contrástalo con tu proveedor.

Existen diferentes técnicas para realizar backups. Actualmente las empresas de hosting las suelen combinar. Más que ser técnicas excluyentes, son complementarias y dependiendo de los requisitos o necesidades de recuperación de datos  de los usuarios, unas veces se adaptan mejor los snapshots y otras veces, la recuperación de archivos.

•    Backup de la máquina o snapshot
•    Backup de archivos

DISCOS EN RAID

Esta medida de seguridad debe acompañarse siempre de un sistema de backup. No basta con disponer de dos (o más) discos duros en la máquina en los que se replica el contenido ya que si se produce un error y se borra contenido o se corrompe una base de datos, automáticamente el error se replicará en el disco que funciona a modo de espejo.  Contar con discos en RAID permite que, si existe un fallo en uno de ellos, el usuario pueda seguir trabajando con el otro disco disponible mientras se sustituye el afectado.

SERVIDORES DE DESARROLLO

En Blackslot estamos especialmente sensibilizados con el mundo del desarrollo, por ese motivo ofrecemos dos servicios que están íntimamente relacionados con el servicio de copias para programación:

1)    Clones de tu servidor

Si tienes tu servidor alojado en Blackslot,  podemos crear un clon de tu máquina, en cuestión de segundos,  de modo que obtengas una réplica exacta  sobre la que llevar a cabo labores de desarrollo y que, una vez testadas, puedan pasar directamente a producción.

2)    Servidores concebidos para el alojamiento de código (control de versiones)

Se trata de servidores con una aplicación para el control de versiones (GIT) . Si varios programadores están trabajando sobre un mismo código, podrán alojarlo de manera segura en nuestros servidores y, además, se guardará un registro de cada uno de los cambios que realice cada programador.

El control de versiones permite volver atrás y restablecer de manera rápida y sencilla el código anterior en caso de que resultara preciso.

Para más información: info@blackslot.com

Sin comentarios | Archivado como General, Novedades, Nuestros servicios, Sistemas TI | 04/04/2012

Si programas en PHP,  queremos que formes parte del equipo.

Colaborarás en un interesante proyecto 2.0 que ha alcanzado una nueva dimensión. Un proyecto fresco, con una trayectoria que escala de forma vertiginosa y con una gran comunidad activa que lo está convirtiendo en un referente dentro de su sector.

Valoraremos positivamente tu experiencia con frameworks como Symfony,  u otros lenguajes de programación como Ruby, Perl y HTML 5 .

Además, queremos que te incorpores de manera inmediata a Blackslot.

¡¡Te estamos esperando!!

Mándanos tu currículo a empleo[@]blackslot[.]com

Sin comentarios | Archivado como Empleo, Equipo, General, proyectos | 29/03/2012

Las 10 consultas que más CPU consumen en SQL Server

Escrito por Sergio Sainz el 28-03-2012

En ocasiones nuestro SQL Server consume demasiada CPU, un buen comienzo es localizar cuales son las consultas que más sobrecargan de media nuestro servidor.

Para ello, podemos utilizar el siguiente script que lista el top ten de las consultas que más cargan la CPU de nuestro servidor SQL.

SELECT TOP 10
qs.total_worker_time/qs.execution_count as [Avg CPU Time],
SUBSTRING(qt.text,qs.statement_start_offset/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(max), qt.text)) * 2
else qs.statement_end_offset end -qs.statement_start_offset)/2)
as query_text,
qt.dbid, dbname=db_name(qt.dbid),
qt.objectid
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY
[Avg CPU Time] DESC

Sin comentarios | Archivado como Sistemas TI | 28/03/2012

Las 10 consultas que más se ejecutan en Sql Server

Escrito por Sergio Sainz el 27-03-2012
En las tareas de administración  de SQL Server, es necesario recabar información a fin de conocer las sentencias que más hacen trabajar al servidor.
El siguiente script nos mostrará el top ten de las consultas que más veces se repiten.
En muchos casos se pueden usar servicios de caché para evitar que las mismas consultas se repitan una y otra vez.

SELECT TOP 10
qs.execution_count,
SUBSTRING(qt.text,qs.statement_start_offset/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(max), qt.text)) * 2
else qs.statement_end_offset end -qs.statement_start_offset)/2)
as query_text,
qt.dbid, dbname=db_name(qt.dbid),
qt.objectid
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY
qs.execution_count DESC

Sin comentarios | Archivado como Sistemas TI | 27/03/2012

El dominio de los dominios

Escrito por soraya el 16-03-2012

¿Qué es un dominio?

Los dominios nacen con el fin de poder recordar con más facilidad el acceso a una página en Internet.  Los dominios son los nombres que en Internet se asocian a direcciones IP (direcciones numéricas de una web). Por poner un símil fuera del “mundo internauta”, es como cuando en una agenda telefónica se vincula un nombre de contacto a un número de teléfono.

El dominio está compuesto por:
Nombre + extensión, por ejemplo: blackslot.com

Extensiones de un dominio

Existen diversos tipos de extensiones.

1. -    Dentro de los dominios genéricos, los más comunes son:

•    .com:  Nació haciendo alusión a servicios de comercio, aunque, al ser uno de los primeros tipos de dominios que surgió, su uso se fue generalizando y utilizando prácticamente para todo tipo de registro.  Se recomienda escoger este tipo de extensión precisamente por su preponderancia o universalización frente al resto. Paradójicamente, el hecho de su difusión  ha hecho que comiencen a escasear los nombres disponibles.

•    .net:  Originariamente fue creado para las empresas que prestaban  servicios en la red (proveedores de acceso por ejemplo). Hoy en día,  no hay que cumplir ningún requerimiento especial para el registro de la extensión, y  lo puede solicitar cualquier entidad, aunque si bien es cierto (y esto ya es una percepción completamente subjetiva) el .com ha perdido su connotación original,  mientras que el .net aún se conserva ligado al mundo de las tecnologías, redes y la presencia en Internet orientada a la máxima interacción con el usuario.

•    .info: Inicialmente se creó para las webs destinadas a información.  Actualmente no tienen restricciones para el registro, es decir, basta con que el nombre que se desea esté disponible para poder registrarlo. Y lo propio ocurre con los otros dos tipos de extensión que indicamos a continuación:

•    .org: En sus orígenes se creó para organizaciones sin fines de lucro.

•    .biz: Inicialmente se creó para los negocios (biz=business).

2. -    Y dentro de las extensiones territoriales, las que cada vez cobran más relevancia entre nososotros son:

•    .es (Territorial que hace referencia a España)
•    .eu (Territorial que hace referencia a Europa)
•    .cat (Territorial que hace referencia a Cataluña)

Regulación del registro de dominios

El registro de los dominios lo regula un organismo internacional  cuyo nombre es ICANN
La ICANN delega a su vez en otra serie de organismos la gestión de algunas extensiones (PIR para los .org,  AFILIAS para los .info, ESNIC para los .es,   EURID para los .eu o DOMINI.CAT para los .cat)
Y estos organismos son los que  acreditan a otras empresas para llevar a cabo los registros de sus extensiones.

Recomendaciones para la elección de un dominio

-    Extensión del dominio: La elección de un tipo de extensión u otro dependerá del ámbito de actuación de la empresa, grupo o actividad de la página web. La extensión más utilizada es el .com,  pero también es aconsejable  elegir la extensión que referencie la actividad de la web, por ejemplo si se dispone de una web de una ONG,  convendría realizar el registro del .org, si se dispone de una web informativa convendría escoger el .info…etc.
Si el  negocio o ámbito de actuación se amplía, será aconsejable registrar los dominios territoriales de la nueva zona en la que se opera.  Por ejemplo,  si se comienza a operar en Portugal convendrá escoge el .pt.

-    Nombre del dominio: Corto, fácil de recordar y escribir y, si es posible,  que aluda a las palabras clave por las que tus usuarios o clientes tratarían de localizarte. Esto último,  además, te ayudará a posicionarte en los buscadores.
También es importante evitar la solicitud de nombres de marcas registradas para evitar conflictos

Conflictos en los registros de dominios

Como el registro de dominios se trata de algo relativamente nuevo, muchos de los que se han visto envueltos en contenciosos para la resolución de conflictos afirman que se han encontrado con vacíos legales y una clara falta de jurisprudencia, aunque dada la evolución del mundo de Internet,  esta situación está cambiando vertiginosamente.

No obstante, se trata de aportar pautas clarificadoras,  así que para simplificar:

-    La ICANN establece el procedimiento a seguir  en los conflictos entre el titular y empresa registradora

-    Y WIPO (World Intelectual Property Organization) es uno de los organismos que gestiona los conflictos entre el titular y una marca.

Domainers

En Wikipedia se ofrece una definición muy acertada “los domainers son los inversores que comercian con los nombres de dominio de Internet, básicamente se dedican a la venta, compra y desarrollo de nombres de dominio de manera similar a los inversores inmobiliarios. Su ingreso deriva por lo general del parqueo de dominios, el desarrollo web, arrendamiento de dominios, reenvío de tráfico por navegación directa, como de la venta de dominios.”

Hay algunas entidades que se dedican a mediar en estas transacciones entre domainers e interesados en la adquisición de un dominio ya registrado. Una de las más populares es Sedo.

Lanzamiento de nuevas extensiones de dominios

•    Fases por las que pasa un dominio cuando se lanza:

Con el lanzamiento de una nueva extensión de dominio, suele existir una fase “cerrada”, con restricciones, que permite que los nombres comerciales y marcas protejan sus registros.
Y,  luego,  la mayoría de registros  suelen “liberarse” y se permite que cualquier entidad solicite cualquier nombre siempre y cuando no esté ocupado en ese momento.

•    Uno de los últimos lanzamientos de nuevas extensiones ha sido el de los dominios .XXX.  Los  dominios para webs de contenido adulto.

•    Y algunos de los lanzamientos que se están anunciando y que con más expectación  espera el público son:

o    El dominio “personalizado” con propio nombre o marca. (Los nuevos dominios de primer nivel)

o    Y el dominio .eus

Sin comentarios | Archivado como General | 16/03/2012

Hosting SQL Server CE 4.0

Escrito por Sergio Sainz el 13-03-2012

El motor Sql Server Compact 4.0 (SQL CE) es un sistema de gestión de bases de datos relacional. A diferencia de los sistemas cliente-servidor, SQL Server CE no necesita instalarse como un servicio sino que corre junto a la aplicación ASP.NET en cuanto iniciamos una nueva conexión a SQL CE. Debido a esto es muy ligero y nos puede resultar muy útil en aplicaciones web.

SQL CE 4.0 es la base de datos por defecto de Webmatrix. También se puede diseñar desde Visual Studio con el add-in SQL Server Compact Toolbox.

Algunas de sus características más importantes:

- Sintaxis compatible con SQL Server y fácil conversión a SQLServer si las necesidades crecen. Webmatrix incluye una opción para hacerlo.
- Funciona con ADO.NET, Entity Framework, NHibernate
- Soporta múltiples conexiones concurrentes.

Limitaciones:

- Tamaño máximo de 4 GB. Lo cual es, más que de sobra para la mayoría de aplicaciones web.
- Nombre de la base de datos limitado a 128 caracteres.
- Hasta 1024 tablas con un tamaño máximo por registro de 8060 y de 4 Kb por página.
- Tamaño de hasta 2 GB para campos BLOB.
- LINQ to SQL no funciona con SQL CE 4.0

Puedes aprender más descargando la documentación de sus libros en pantalla. En ellos encontrarás:

- Instrucciones para la instalación y actualización.
- Información acerca de las nuevas características y la compatibilidad con versiones anteriores.
- Descripciones conceptuales de las tecnologías y las características de SQL Server Compact 4.0.
- Temas con procedimientos que describen cómo utilizar las diversas características de SQL Server Compact 4.0.
- Tutoriales que le guiarán por las tareas habituales.
- Documentación de referencia para las herramientas gráficas, los lenguajes de programación y las interfaces de programación de aplicaciones (API) compatibles con SQL Server Compact 4.0.
- Puede descargar las bases de datos de ejemplo desde el sitio de ejemplos de SQL Server Compact.

Dada la compatibilidad para Webmatrix, en Blackslot también hemos incluido soporte para SQL CE 3.5 y 4.0 desde el lado del servidor (GAC) en nuestros planes Windows.

1 comentario | Archivado como General, Nuestros servicios | 13/03/2012

¿Qué es la transferencia?

La transferencia de un plan de alojamiento o un servidor hace referencia al tráfico (accesos) que posee el sitio.
Puede existir tráfico externo e interno:

-    Tráfico externo:  se trata del consumo que se hace cuando alguien visita nuestra web o descarga algún archivo
-    Tráfico interno: se trata de la subida de contenido a través de una  cuenta FTP, envío de correo y, en algunos casos, procesos del volcado internos.

¿En qué se mide la transferencia?

La transferencia, habitualmente, se mide en consumo de gigas mensuales.
Por lo general, todos los planes de alojamiento suelen contar con estadísticas detalladas en las que se especifica el consumo de transferencia que tienen mensualmente.

Diferencia entre transferencia y caudal o ancho de banda.

Mientras que la transferencia es el consumo de gigas que el tráfico de un sitio alcanza en un periodo de tiempo determinado, el caudal hace referencia al ancho de banda que posee la plataforma en la que está alojado ese sitio.
El caudal se mide en megabit (Mbit o Mb) y está relacionado con la velocidad de descarga o transmisión de datos.

Para explicar los conceptos de transferencia y caudal siempre recurrimos a un ejemplo muy simple, pero muy gráfico, en donde representamos a la transferencia como un montón de litros de agua y al caudal (o ancho de banda) como al tubo que la va a conducir. Si tratamos de  volcar todos los litros simultáneamente no podremos hacerlo si la sección del tubo es muy reducida y tendremos que ir vertiendo el líquido poco a poco, sin embargo,  no ocurrirá ésto si contamos con un conducto  con un diámetro muy superior.
En muchas empresas de hosting se dispone de transferencias muy elevadas pero el caudal muy limitado y eso genera cuellos de botella si existen muchas visitas concurrentes, ralentizándose el acceso a la web.

En Blackslot además de contar con planes con transferencia ilimitada ponemos a vuestra disposición un gran ancho de banda capaz de asumir picos de hasta 100 mbits.
No dudes en contactar con nosotros si estás interesado en recibir más información.

Sin comentarios | Archivado como Cloud Computing, General, Nuestros servicios | 07/03/2012