944 063 154

Blog

Categoría: Sistemas TI

Error de timeout al hacer backup de SQL Server desde Plesk

Publicado enSistemas TI

A veces es posible que al tratar de hacer una copia de seguridad a una base de datos SQL Server se produzca un error de timeout. Generalmente, esto suele deberse a que la base de datos es demasiado pesada; por lo que el tiempo que requiere la realización de la copia de respaldo puede ser mayor al establecido como máximo en el timeout en SQL desde el panel de control Plesk. En estos casos obtendremos un error similar al siguiente: The timeout period elapsed prior to the completion of the operation or de server is not responding. Para evitar la aparición de este tipo de errores tendremos que editar el «regedit».

El motivo de que se produzca dicho error es que las conexiones remotas tienen un tiempo máximo. Así, si no es posible completar el proceso en el tiempo establecido como límite aparecerá el error de timeout. La mayoría de las veces se soluciona aumentando el tiempo de la conexión que por defecto ha establecido Plesk. Para hacerlo hay que editar las siguientes entradas en el registro.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Plesk\PSA Config\Config\ADOConnectionTimeout
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Plesk\PSA Config\Config\ADOCommandTimeout

En el caso de que no sepamos con exactitud qué valor debemos poner para evitar que se produzca un error al haber alcanzado el tiempo límite establecido, podemos ir haciendo pruebas. Por ejemplo, podemos empezar por establecer un valor similar al que tiene por defecto SQL Server. Si. aún así, la base de datos es demasiado pesada y sigue sin permitirnos hacer correctamente una copia de seguridad, tendremos que ajustar además el valor del propio SQL Server por uno más alto. También existe la opción de establecer como ilimitado el tiempo de timeout, para ello bastará con que lo pongamos a 0.

Cómo ver el timeout en SQL Server

Si en lugar de utilizar el panel de control Plesk para conocer cuál es el tiempo máximo establecido prefieres utilizar la línea de comandos, el comando para ver el timeout en SQL es:

EXEC sp_configure

El tiempo para el timeout se mide en segundos. Así que si, por ejemplo, queremos aumentarlo hasta los 1000 segundos, tendrmeos que ejecutar lo siguiente:

EXEC SP_CONFIGURE 'remote query timeout', 1000
reconfigure

Otra manera de modificar el tiempo máximo para una base de datos SQL Server es a través de sus propiedades. Para ello, localiza la base de datos y ve a la pestaña Connections. Una vez allí, dispones de un campo para establecer cuántos segundos quieres asignar como tiempo límite para la realización de tareas sin que se produzca un timeout. Cuando hayas introducido la cifra deseada, haz click en OK para que se apliquen los cambios.

timeout en SQL Server

A partir de este momento el tiempo establecido como máximo para la realización de cualquier tarea en una base de datos SQL Server habrá aumentado. Si a pesar de las modificaciones el tiempo sigue resultando insuficiente, puedes volver a aumentarlo siempre que quieras; incluso desactivarlo para evitar que se produzcan errores de timeout en SQL.

Error al actualizar awstats en Plesk

Publicado enSistemas TI

Todos los alojamientos, ya sean compartidos, dedicados o servidores cloud, proporcionan estadísticas. Una serie de gráficas que permiten conocer el consumo o controlar que todos los elementos funcionan de forma adecuada. Aunque lo habitual es que no se produzcan errores, pueden darse algunas incidencias. Por ejemplo, es posible que no puedas ver las estadísticas de un servidor. Cuando esto sucede suele ser porque ha ocurrido algún error durante el proceso. Para solucionarlo, es conveniente ejecutar el proceso a mano para ver dónde se produce error. Para ello, puedes recurrir a un fragmento de código como el siguiente:

/usr/local/psa/admin/sbin/statistics

Qué errores pueden ocurrir

Pueden darse diferentes errores al actualizar awstats desde Plesk. Como que, por ejemplo, obtengamos un error que indica que no ha podido ejecutarse la petición; como te mostramos en el siguiente script:

System error 2: No such file or directory
statistics_collector: Unable to execute /usr/share/awstats/tools/awstats_buildstaticpages.pl -awstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl -configdir=/usr/local/psa/etc/awstats -config=dominio.com-https -dir=/var/www/vhosts/dominio.com/statistics/webstat-ssl/current >/dev/null 2>1

Si nos encontramos con un error como el anterior, deberemos acudir a la ruta /etc/psa/psa.conf; y en ella tendremos que revisar las rutas relativas a awstats. De esta forma podremos ver qué es lo que está mal. En este caso en concreto, la solución al problema pasa por corregirlas y ejecutar de nuevo el script. Así, podremos confirmar que esta vez la consulta se realiza de manera correcta y que obtenemos de ella la información que estábamos buscando. Una vez ejecutado de nuevo el script correspondiente, el resultado que deberíamos obtener tendría que tener un aspecto similar a esto:

[root@server psa]# diff psa.conf psa.conf.default
110,111c110,111
AWSTATS_BIN_D /usr/share/awstats/wwwroot/cgi-bin
AWSTATS_TOOLS_D /usr/share/awstats/tools
---
AWSTATS_BIN_D /var/www/cgi-bin/awstats
AWSTATS_TOOLS_D /usr/share/awstats

Evitando problemas en el servidor

A partir de ahora, cualquier error relacionado con los awstats de tu servidor o plan de hosting estarán solucionados. De forma que las estadísticas de tu servidor o plan de hosting volverán a estar disponibles para que puedas consultarlas siempre que lo necesites. Desde Linube te recomendamos consultar los awstats de tu alojamiento con cierta frecuencia. De esta manera, algunos problemas, como el exceso de consumo en disco, podrán solucionarse antes de que lleguen a afectar al funcionamiento de tu web. Además de saber si al hacer la consulta se produce, o no, algún tipo de error que impida obtener los datos que se solicitan.

En este sentido, relacionado con el consumo en disco de tu alojamiento, recuerda dejar al menos un 10% de su capacidad disponible; a fin de garantizar su correcto funcionamiento. Para ello tendrás que borrar elementos obsoletos de tu web o eliminar mensajes antiguos de tu buzón de correo. Pero, si no puedes prescindir de ninguno de los elementos y tu servidor no cuenta con el espacio libre necesario, tendrás que pasar a un plan de mayor capacidad.

Si este es tu caso, contáctanos y te asesoraremos sobre el servicio que mejor se adapte a tus necesidades.

Cambiar el idioma en Windows Server 2012

Publicado enSistemas TI

Por defecto, en Linube entregamos todos nuestros servidores en su versión original de Windows; es decir, con inglés como idioma predeterminado. Lo hacemos de esta forma ya que creemos que es mucho más recomendable utilizar el sistema en inglés a fin de facilitar la gestión del servidor. Pero, si lo prefieres, puedes cambiar el idioma del servidor a español; o a cualquier otro idioma que necesites y con el que estés más familiarizado. De forma que realizar cualquier tarea que necesites en el servidor te resulte mucho más sencillo.

A pesar de que esto pueda parecer que conlleva un gran esfuerzo, bastarán unos sencillos pasos para cambiar el idioma original del servidor. El cambio es tan sencillo que ni siquiera será necesario reinstalar el sistema operativo del servidor; ya que únicamente se trata de un cambio en un par de ajustes.

Cambiar el idioma en Windows Server

Si quieres que el idioma predeterminado de tu servidor sea uno diferente al inglés, te mostramos cómo puedes hacerlo:

1. En primer lugar, desde el panel de control del servidor, ve a la pestaña de configuración (settings). Una vez allí, selecciona la opción «Language». Si no lo encuentras, también puedes optar por escribirlo en el campo de búsqueda. De esta forma el sistema te mostrará directamente la pestaña que estabas intentado buscar y a la que no has conseguido acceder.

cambiar el idioma en Windows

2. En «Language» se mostrará el idioma que está asignado al servidor por defecto. Para poder cambiarlo primero tendrás que añadir un nuevo idioma. Para ello, pincha en «Add a language» y busca el idioma que deseas entre las múltiples opciones que aparecen en el sistema. Ten en cuenta que los idiomas están referidos, también, en inglés. Por ello, deberás realizar la búsqueda en este idioma; así busca español por la S, de spanish y no por la E de español. Cuando lo hayas seleccionado, aparecerá junto al inglés como idioma predeterminado para el servidor.

Cambiar el lenguaje en Windows Server 2012

Cambiar el lenguaje en Windows Server 2012

Cambiar el lenguaje en Windows Server 2012

3. A pesar de aparecer en la pestaña de idiomas, aún necesitas configurarlo para que el idioma del servidor cambie. Para ello, tienes que descargar e instalar en el servidor los paquetes del idioma que has seleccionado, en este caso el idioma español. Para hacerlo solo tienes que hacer click en la pestaña de «options» y allí aparecerán los pantallazos que se muestran a continuación. Cuando hayas seleccionado todos los paquetes que necesitas, dará comienzo la descarga de los mismos. Una vez haya finalizado la descarga, se iniciará la instalación de los paquetes de idioma.

Cambiar el lenguaje en Windows Server 2012

Cambiar el lenguaje en Windows Server 2012

4. Cuando hayan finalizado tanto la descarga como la instalación de los paquetes de idiomas, en el apartado de «settings» podrás establecer español como idioma por defecto en el servidor. Una vez hayas indicado el nuevo idioma del servidor, tendrás que cerrar sesión para que los cambios que se han introducido se apliquen correctamente.

Cambiar el lenguaje en Windows Server 2012

Desde este momento, la próxima vez que inicies sesión en el servidor, el idioma del mismo se habrá modificado al que hayas establecido. A partir de ahora, gestionar tu servidor será mucho más sencillo con el cambio de idioma.

Si prefieres olvidarte de este tipo de gestiones del servidor, en Linube disponemos de un servicio de administración de sistemas con el que nosotros nos encargamos de las gestiones técnicas del servidor. Un servicio que te permitirá centrarte en otros aspectos de tu negocio con la seguridad de que cuentas con un servidor seguro y actualizado.

Cómo instalar una plantilla de WordPress, paso a paso

Publicado enSistemas TI

Si quieres instalar una plantilla de WordPress, te recomendamos que te asegures de que tu plan de hosting te ofrece la posibilidad de utilizar una base de datos MySQL. En nuestro caso, contamos con planes de hosting con panel Plesk que facilitan el cambio de plantilla en el CMS. ¿Quieres saber cómo hacerlo paso a paso?

Qué hacer antes de instalar una plantilla en WordPress

  1. En primer lugar, es necesario que actives la base de datos. Para ello, puedes empezar por añadir una nueva base de datos en el panel de control Plesk. Cuando hayas decidio qué nombre llevará y hayas establecido el tipo y el servidor de la base de datos, pulsa en aceptar.
  2. A continuación, tendrás que crear un usuario para la base de datos MySQL. Al igual que en el caso anterior, hay una serie de campos que deberás completar para poder añadir este nuevo usuario a la base de datos que hemos creado en el punto anterior. Ponle un nombre y crea una contraseña, cuando tengas los dos datos, haz click en aceptar para continuar con el proceso.
  3. Hay muchos paneles de administración de hosting que permiten autoinstalar aplicaciones como WordPress, pero no siempre se instala la última versión. Algo que siempre es recomendable, ya que las últimas versiones de los servicios siempre cuentan con mayores funcionalidades y seguridad. En el caso de WordPress encontrarás la última versión del gestor de contenidos en su propia web, y la podrás descargar de manera gratuita. Asimismo, en el panel de control Plesk encontrarás un instalador que lo hará todo mucho más fácil.
  4. A través del administrador de archivos de Plesk, podrás subir el WordPress a tu alojamiento web. Si tu panel de hosting no te permite esa opción, podrás optar por subirlo de la manera tradicional, a través de FTP.
  5. Selecciona la carpeta httpdocs que es la que pertenece a las cuestiones referentes a la web.
  6. Pincha sobre la opción «Añadir archivo».
  7. Carga el archivo de WordPress que en los pasos anteriores has descargado. Puedes subir el archivo en formato zip, que es como se descarga. No te olvides de añadir la ruta del archivo para que se cargue de forma correcta.
  8. Sube el archivo que contiene la nueva plantilla que quieres instalar en WordPress y descomprímelo.
  9. Establece la raíz del documento. A esta operación también se la denomina modificación del document root. Así permitirás que el WordPress se instale en la propia URL de inicio de tu alojamiento. Para completar este paso acude al apartado «Sitios web y dominios» y pincha sobre el nombre de tu dominio.
  10. A continuación en la casilla en donde se indica «Raíz del documento» debes poner WordPress tras httpdocs/ tal y como mostramos en este ejemplo. En este mismo apartado comprueba, también, las opciones para el soporte de PHP y asegúrate de que esté en modo FasctCGI.
  11. Ahora, desde cualquier navegador,  accede a la URL de tu web y sigue los pasos de instalación que se mostrarán en el asistente de WordPress.

Instalando la plantilla de WordPress

En la única pantalla en la que deberás incluir contenido es en la que se solicita la inclusión de los datos de la base de datos que previamente has creado. Deberás incluir el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos que has creado previamente en el panel de control Plesk. El resto de datos (host de la base de datos y prefijo de tabla) no es necesario que los modifiques.

Si accedes, nuevamente, desde cualquier navegador al sitio de tu dominio, te aparecerá una pantalla final que te solicitará el nombre que quieres para tu sitio WordPress. En esa pantalla podrás establecer el nombre de usuario y contraseña que luego te servirán para acceder al panel de gestión de WordPress.

Ya llegamos al último punto de cómo instalar una plantilla de WordPress. Accede al panel de gestión de WordPress y  sube la plantilla que previamente te hayas descargado. (Súbela en formato zip) Y una vez que el tema de WordPress o la plantilla haya subido, actívala.

¡Ya sabes instalar una plantilla de WordPress! ¿A que no era tan difícil? No dudes en ponerte en contacto con nosotros vía email o por teléfono para cualquier duda o sugerencia. ¡En Linube estamos encantados de atenderte!

Permisos para ver el Monitor de Actividad de SQL Server

Publicado enSistemas TI

Hoy en día es fundamental tener todas las herramientas monitorizadas. De esta forma podremos evitar muchos de los errores que pueden dejarnos sin servicio; además de conocer en todo momento el estado de la aplicación o servidor. Para facilitarnos el control de SQL Server disponemos de su propio monitor. Una herramienta encargada de mostrar la actividad de SQL Server en tiempo real.

Este monitor nos proporciona información acerca de los procesos que se ejecutan en el servidor y cómo influye en la actividad de SQL Server. Aunque se denomine monitor, en realidad se trata de una aplicación compuesta por muchos paneles, que pueden expandirse o colapsarse en función de las necesidades de cada ususario.

Monitor de actividad de SQL Server

Entre la enorme cantidad de información que podemos obtener con el monitor de actividad de SQL Server destacamos las consultas. No es nada extraño que muchos programadores se dejen abiertas, o en modo sleeping, cada una de las consultas que realizan a una base de datos. Lo habitual en estos casos es que no se sea consciente de la carga que esto provoca en el servidor y de las consecuencias que puede tener en el rendimiento.

Aunque este tipo de programadores solo se preocuparan del monitor de actividad de SQL Server cuando el límite de conexiones de haya excedido; y, por tanto, el servicio se haya denegado, lo ideal es consultar el monitor de SQL Server con cierta frecuencia. Así que, si eres de esos que no acostumbra a hacerlo; te contamos porqué deberías empezar a consultar el monitor de actividad de SQL Server.

Otorgar permisos a otros usuarios

En el caso de que no puedas hacerte cargo del monitoreo de SQL Server tú mismo, puedes conceder permisos a otros usuarios. De esta forma, dichos usuarios podrán también controlar el estado en el que se encuentra SQL Server. Aunque generalmente suelen ser los programadores quienes obtienen estos permisos para ver el monitor de actividad, puedes concederle acceso a quien tú consideres.

De esta forma, la persona que quiera ver la actividad de SQL Server podra, entre otras muchas cosas, controlar cuantas queries quedan abiertas de forma innecesaria. Así, además se reducirá el consumo de recursos del servidor y se evita exceder el límite de conexiones.

Para dar permisos a otros usuarios te proporcionamos el siguiente script; donde el administrador le otorga al usuario linube el acceso al monitor de SQL Server.

USE master
GRANT VIEW SERVER STATE TO linube

Si quieres saber más sobre SQL Server, puedes consultar también nuestro artículo sobre cómo cambiar el lenguaje de SQL Server.

¿APPS? Sí, aquí y ahora

Publicado enSistemas TI

¿Quién iba a pensar, tan solo hace una década, que los dispositivos móviles iban a estar tan presentes en nuestras vidas e iban a gobernar tantos aspectos de nuestra vida cotidiana? O, ¿quién se iba a imaginar que un aparato iba a modificar con tanto ímpetu algunas de nuestras costumbres? Sí, no podemos negarlo, las apps han supuesto una revolución que va mucho más allá de la informática.

Ya no se espera con la misma impaciencia que se hacía antes, no hace tanto. Ahora todo el mundo puede saber donde está la persona con la que ha quedado para pasar la tarde. Incluso puede saber lo que tardará en llegar el tren que espera, el tiempo que tardará en diluirse o semidiluirse la caravana de tráfico en la que se encuentra atrapado o cualquier otro asunto que haga que llegue con retraso.

Lo quiero ya

En muy poco tiempo el sentido de la inmediatez se ha hiperdesarrollado. Todo lo queremos ahora y lo queremos ya.  Parece ser que ya no se visitan las tiendas para saber si tienen en stock la silla de la colección de nombre inefable o el último modelo de pantalones vaqueros. Tampoco se espera hasta llegar a casa para resolver una consulta a través de Internet o del Espasa. Es decir, aquel diccionario enciclopédico que utilizábamos antes de que irrumpiera en nuestras vidad la maravillosa Wikipedia.

Existen otras maneras de compartir conocimiento, de informarse, o de sentirse partícipe de una comunidad. Las nuevas tecnologías irrumpen en “los tiempo de ocio” y “los tiempos ociosos” mostrando un número inmenso de posibilidades. Es fácil encontrarse a gente que durante los tiempos muertos de espera entre andén y andén, o en la antesala del médico, o en la cola de la panadería se conecta a las redes sociales o gente que comparte sus opiniones en ellas mientras camina en una manifestación, ve la televisión o lee el periódico.

Apps de interés

Resumiendo, en Linube hemos elaborado una lista con lo que consideramos los usos más comunes  para los que se ha estandarizado la utilización de apps:

  • Conocer los horarios de los diferentes modos de transporte público.
  • Localizar dónde se encuentra un lugar con exactitud. Como por ejemplo utilizando Google Maps.
  • Consultar la previsión del tiempo en las próximas horas o en los días siguientes. Para ello puedes recurrir a Eltiempo.es o Windguru.
  • Ver el programa de un evento o fiesta, o acceder a una agenda cultural. Un ejemplo cercano en nuestro entorno es la Agenda Noiz.
  • Conocer el estado del tráfico en un momento determinado con Ivía.
  • Mensajería instantánea para dispositivos móviles como puede ser Whatsapp.
  • Reconocer cuál es la canción que está sonando con Shazam.
  • Recordar las tareas que tenemos que realizar y cuando debemos llevarlas a cabo con Wunderlist.
  • Acceder a archivos almacenados o guardar nuestros archivos en la nube. En este caso puedes recurrir a aplicaciones como Dropbox o  Sugarsync, además de Nextcloud un servicio similar a los anteriores pero que garantiza la privacidad.
  • Postear en redes sociales como Twitter, Facebook o Tuenti.
  • Descubrir nuevas rutas turísticas y gastronómica con Foodspotting con su versión (libro) para Android y su versión para iPhone, o Wikitapas.

Hay apps sorprendentes y cada vez son más los que destinan su capacidad de ingenio a ofrecer soluciones específicas. Por ejemplo, ahora que en verano el sol “atiza con más rabia”, se puede medir la radiación ultravioleta con Screenshots. No obstante, este es un nuevo mundo que acaba de descubrirse y en el que existe mucho por explorar.

¿Cuál será el futuro de las aplicaciones móviles?

Reparar base de datos corrupta en SQL Server (Parte II)

Publicado enSistemas TI

Anteriormente veíamos el post de «cómo reparar base de datos corrupta en SQL Server«. Si el estado es cualquiera de los otro dos (REPAIR MODE o EMERGENCY), entonces tendremos que recurrir a otro tipo de apaños. Este problema puede experimentarse tras tratar de recrear un nuevo transaction log para una base de datos; pero también puede servir en casos en el que el archivo de datos esté dañado.

Vamos a indicar qué hicimos para reproducir el problema y cómo lo solucionamos.

Reparar base de datos corrupta en SQL Server

Al separar una base de datos y borrar su .LDF, al adjuntarla después aparecía el siguiente 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’;

Cómo solucionarlo

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.

 

Con este último paso concluimos la explicación de cómo reparar base de datos corrupta en SQL Server. No dudes en escribirnos si te surge cualquier duda.

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

Publicado enSistemas TI

Una base de datos o bbdd puede corromperse debido a múltiples circunstancias; cortes eléctricos inesperados, problemas de espacio en disco, fallos de hardware, que hayas borrado el archivo de log (.ldf), etc. Normalmente, la mejor manera de solucionar esto es recurrir a la última copia de seguridad. Pero también puede ocurrir que no dispongamos de una copia o la que tenemos disponible es ya algo vieja. En esos casos, quizá no se pueda reparar del todo esa base de datos corrupta, pero aún podemos recuperar la información.

Una bbdd puede tener estos estados:

  • 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.

Base de datos corrupta: Qué hacer

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

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

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

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

Reparar base de datos corrupta

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

Backup y otras medidas de seguridad para servidores remotos

Publicado enSistemas TI

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. Por ello, hemos querido publicar este post sobre backup y otras medidas de seguridad para el alojamiento de contenido en servidores remotos.

Medidas de Seguridad: 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 (de duplicació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. 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 Linube estamos especialmente sensibilizados con el mundo del desarrollo y tomamos cuantiosas medidas de seguridad para garantizar el correcto funcionamiento de todos nuestros servidores. 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 Linube,  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.

Después de haber leído este artículo, esperamos que sigas tomando tan en serio como antes (o incluso más) las medidas de seguridad para proteger tus proyectos.

Activar el modo exclusivo en SQL Server

Publicado enSistemas TI

Cuando nos disponemos a realizar ciertas operaciones en SQL Server, es posible que se nos requiera de un acceso en modo exclusivo a una determinada base de datos. Y es que muchas de las tareas que se realizan en una base de datos SQL requieren de un uso exclusivo por parte del usuario que las va a realizar. Por ello, es muy habitual obtener errores en el caso de que haya conexiones abiertas contra la base de datos. En el caso de que esto ocurra obtendremos un error de aspecto similar a este:

Mens. 5030, Nivel 12, Estado 2, Línea 1
No se puede bloquear de forma exclusiva la base de datos para realizar la operación.

Para poder solucionar este problema, debemos ir a las propiedades de la base de datos SQL. Una vez allí, tendremos que realizar lo siguiente: acudir a las opciones de la base de datos > verificar cuál es su estado > restringir el acceso a la base de datos. Finalmente, una vez allí, deberemos seleccionar la opción single.

Modo exclusivo mediante consultas

Los pasos que te hemos indicado con anterioridad no son la única forma de obtener un acceso exclusivo a una base de datos SQL. Si lo prefieres, también puedes realizar una consulta a la base de datos para ejecutar la misma acción. Para ello, deberás realizar los siguiente:

ALTER DATABASE [nombre_bd] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO

Una vez hayas ejecutado la consulta, será cuando podamos proceder a realizar los cambios necesarios en la base de datos para otorgar a una determinada aplicación un acceso exclusivo a dicha base de datos.

Salir del modo exclusivo SQL Server

Cuando ya no necesites un acceso exclusivo a la base de datos SQL Server, puedes volver al modo que permite el acceso a la BBDD a múltiples usuarios. Para ello, primero deberás matar la conexión con la base de datos. Una vez la conexión se haya interrumpido, podrás volver a cambiar el modo de conexión con la base de datos SQL. Es decir, puedes deshacer los cambios que habías introducido para otorgar el modo exclusivo a un usuario haciendo que desapareciesen cualquier tipo de errores. Si lo que quieres es salir del modo exclusivo SQL Server, puedes hacerlo fácilmente a través de la siguiente consulta:

Kill [spid]
ALTER DATABASE [nombre_bd] SET MULTI USER

De esta forma, el servidor volverá al estado en el que se encontraba inicialmente, antes de que se introdujeran cambios en la configuración para evitar que aparecieran errores si una aplicación requiere de acceso exclusivo a una base de datos. A través de esta última consulta, desharás esta operación con la misma facilidad y se permitirá el uso de una base de datos a diferentes usuarios.

Agregar o quitar una interfaz de red en SQL Server

Publicado enSistemas TI

Una interfaz de red es una aplicación que se encarga de posibilitar que una máquina virtual pueda comunicarse con otros recursos dentro de la red. Una herramienta que es de gran utilidad para, entre otras cosas, manejar y gestionar bases de datos dentro de un servidor. Algo que puedes realizar tanto en el caso de servidores físicos como de servidores virtuales. En este caso, para mostrar cómo puedes agregar o quitar una interfaz de red en SQL Server utilizaremos una máquina de Azure para realizar estos cambios. Desde la interfaz de red pueden hacerse muchas tareas como, por ejemplo, establecer una conexión entre diferentes recursos. En nuestro caso esta conexión se producirá entre Azure y otros recursos locales alojados en la máquina. De esta forma, una misma máquina puede contar con varias interfaces de red.

Es importante tener en cuenta que cuando se instala SQL Server en un alojamiento web, el gestor de bases de datos tiene que configurarse teniendo en cuenta las posibles interfaces de red. Esto se debe a que no es válido utilizar cualquier interfaz de red, sino que solo se podrán utilizar aquellas que se encuentren habilitadas en el momento de la instalación. Esto hace que si más tarde queremos habilitar o deshabilitar una nueva intefaz tendremos que hacerlo de forma manual. El motivo por el que esto es así es que es posible que la interfaz aparezca o desaparezca con cada uno de los cambios que se realicen en la configuración de red por defecto.

Añadir interfaz de red desde el registro

Si quieres añadir una interfaz de red en una máquina en Azure, puedes hacerlo simplemente editando el registro. Esta, además de ser una forma fácil de hacerlo, es una de las mejores para agregar o quitar interfaces de red de una máquina. Al disponer la máquina de una ubicación específica en la que guardar todo el registro, la tarea se simplifica. En el caso de una máquina Azure podrás encontrar estos datos del registro en la siguiente ubicación:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.1MSSQLServerSuperSocketNetLibTcp]

Si lo que necesitas es quitar la interfaz de red, en lugar de tener que añadirla, también puedes hacerlo de diferentes maneras. Una de ellas, y con toda seguridad la forma más sencilla, es borrando el registro en el que se encuentra almacenada la key. Así, en el caso de que luego quieras volver a añadirla, solo tendrás que exportar una clave y editarla en el mismo sitio en el que borraste la otra key. Para ello, ni siquiera es necesario tener que crear la clave, ya que esta ya existía antes de que se creara el registro. Así, solo tendrás que editarla de la forma que más te convenga. De esta forma, cuando más tarde se ejecute el .reg se insertarán todos y cada uno de los cambios que hayan sido introducidos.

Como ves, añadir o eliminar una interfaz de red en un servidor Windows es mucho más sencillo de lo que parece. Con solo un par de cambios puedes conectar el servidor con diferentes recursos instalados en el servidor.

interfaz de red

Cómo cambiar formato de SQL Server (dateformat)

Publicado enSistemas TI

¿Tienes instalado por defecto otro idioma en tu gestor de bases de datos? Aunque no lo parezca este es un problema que puede suceder al migrar una base de datos a otro entorno MSSQL que no comparta el mismo lenguaje de instalación que el que teníamos en un principio. Las ocasiones en las que hace falta cambiar el lenguaje de SQL («date format of sql server» en inglés) son bastante numerosas.

En nuestro caso el cambio se ha porducido al restaurar una base de datos que se encontraba en un SQL con lenguaje «español» a otro que habían instalado en «us_english». Con el primero las fechas (campos de tipo datetime) se muestran en formato «dd/mm/yyy«; pero en inglés las fechas tienen el formato «mm/dd/yyyy».

Si mostramos la tabla desde el Microsoft SQLServer Managmentent Studio veremos que las fechas SQL se muestran tal y como hemos importado. Pero el problema viene cuando queremos hacer una consulta. Por ejemplo, desde nuestra web, y SQL Server nos devuelve la fecha. En este momento nos encontraremos con que se produce un error que está relacionado con el formato de la fecha. Por ello, y puestos ya en situación, vamos manos a la obra con el date format SQL Server.

¿Cómo ver el lenguaje SQL?

select @@language

Si MSSQL ha sido instalado en inglés seguramente obtendrás us_english como resultado.

Para ver todos los lenguajes disponibles en SQL y cuáles son sus propiedades podemos hacer lo siguiente:

 sp_helplanguage

¿Cómo establecer Date format SQL Server?

De la siguiente manera podemos establecer el lenguaje español para todas las consultas que lancemos desde la sesión y con el usuario que estemos conectados:

SET LANGUAGE Español

También podemos, por ejemplo en el caso de nuestra web, antes de lanzar una consulta SQL especificar el dateformat deseado en cada caso, indicando: 

set dateformat dmy

¿Cómo establecer el lenguaje predeterminado para todas las bases de datos del servidor?

De esta manera conseguimos que por defecto se devuelvan las fechas en inglés al formato dd/mm/yyyy. Lo que debemos hacer es abrir Microsoft SQL Server Managmentent Studio. Y a continuación ir a las propiedades del servidor SQL; en el apartado avanzado, podremos modificar la opción idioma predeterminado por Español.

Además hay que tener en cuenta el lenguaje por defecto de los Inicios de sesión que existan en el servidor; ya que los que creemos nuevos a partir de ahora lo harán con lenguaje español. Para ello tendremos que hacer lo siguiente:

USE (master) 

GO

AFTER LOGIN (serversqlsergiosainz) WITH DEFAULT_DATABASE=(master) DEFAULT _LANGUAGE= (Spanish)

GO

Recuerda que también es posible modificar el idioma por el deseado desde las propiedades del usuario.

Y hasta aquí el tutorial sobre Date format sql. En lo que respecta a Transact-SQL, estos son los tipos de datos y funciones de fecha y hora a partir de SQL Server 2012.

Y si quieres saber más, ¡consulta nuestros artículos!

Cómo copiar tablas entre bases de datos SQL Server

Publicado enSistemas TI

Si cuentas con una base de datos en producción y quieres disponer de una copia de esos datos para crear una base de datos en desarrollo, solo necesitarás copiar unas cuantas tablas. Algo que podrás hacer copiando tablas de una base de datos SQL Server a otra. Aunque esto puedes hacerlo a través de un script, en esta ocasión optaremos por utilizar Wizard. Un asistente para copiar datos desde una base de datos origen a otra base de datos.

Cómo copiar tablas de una base de datos SQL Server

En primer lugar, tendremos que seleccionar cuál es la base de datos destino. Cuando la tengamos localizada la base de datos original, ya podemos proceder a la importación de los datos. Para ello, accedemos al menú de Wizard haciendo click con el botón derecho del ratón; Tasks > Import Data…

copiar tablas de una base de datos SQL Server a otra-I

Al hacer click, se iniciará el asistente para la importación y exportación de SQL Server Wizard. Haremos click en Next, para que el proceso siga su curso.

copiar tablas de una base de datos SQL Server a otra-II

Una vez Wizard se haya iniciado, nos solicitará el nombre de servidor en el que se encuentra la base de datos origen. En nuestro caso, al tratase de una base de datos local, podemos poner un punto como nombre del servidor. En tu caso, deberás poner el nombre correcto del server, ya que de otra forma no será posible conectarse a la base de datos original. Después, tendremos que autentificarmos mediante Windows o a través de SQL. Finalmente, si los datos que hemos proporcionado son correctos, nos dejará seleccionar la base de datos de origen cuyos datos necesitamos copiar. En este ejemplo, la base de datos de origen es la que lleva por nombre BLACKSLOT_PROD.

copiar tablas de una base de datos SQL Server a otra-III

A continuación , Wizard nos pedirá que introduzcamos el nombre de la base de datos de destino. Para nosotros, la base de datos a la que se deberán de copiar las tablas es BLACKSLOT_DEV. En el caso de que no tuviésemos la base de datos de destino creada, deberíamoss empezar por crear esta base de datos. Para ello, basta con pulsar en ”New…” para que podamos crear la BBDD en la que se deberán copiar los datos.

copiar tablas de una base de datos SQL Server a otra-IV

Tal y como se muestra en la siguiente captura de pantalla, dejaremos marcada la primera opción; ya que es la opción que buscábamos: copiar tablas de una base de datos a otra. En el caso de que necesitáramos copiar la información utilizando una query, marcaríamos la segunda opción.

copiar tablas de una base de datos SQL Server a otra-V

Ahora el asistente nos mostrará las tablas y vistas que podemos importar desde la base de datos de origen. En nuestro caso como solo existe una tabla (T_Servidores_Cloud), que es la que hemos creado a modo de ejemplo, tenemos que seleccionar esa. Si tú tienes más de una base de datos, deberás escoger la que quieras copiar. Como en el destino no existe la tabla, el sistema de forma automática nos la creará con el mismo nombre y los mismos campos que se encuentran en la base de datos de origen.

copiar tablas de una base de datos SQL Server a otra-VI

Si necesitamos que el nombre de alguno de los campos sea otro, también podemos editarlo. Además, es posible controlar los campos de destino pinchando en el botón “Edit Mappings…” para que se nos muestren todas las opciones que son posibles.

copiar tablas de una base de datos SQL Server a otra-VII

Finalmente aparecerá un resumen de los cambios que se van a realizar. Si todo está correcto, deberemos pulsar en “Finish” para que la información se copie desde una base de datos a la otra.

Cuando el proceso haya llegado a su fin, ya contaremos con una nueva base de datos SQL Server con los datos que hemos copiado desde la base de datos original.

¿El fin de los departamentos de IT?

Publicado enSistemas TI

La semana pasada hubo bastante revuelo con un post de 37Signals en el que se exponía el fin de los departamentos de IT en favor de servicios en la nube. Algo que se deja entrever en dicho post es que con servicios como Google Apps, no tiene sentido tener un equipo de IT dedicado a administrar servidores Microsoft Exchange.

Un error que se comete a menudo al juzgar la labor de los administradores de sistemas es que no se sabe visualizar ni evaluar la dimensión, importancia, prioridad e incluso la criticidad que tiene en una empresa; ya sea tecnológica o no.

Este error lo puede cometer cualquiera en la empresa. Desde directivos no técnicos, hasta el equipo de desarrollo que trabaja normalmente de forma mucho más cercana.

El porqué de no valorar adecuadamente los departamentos de IT

El principal motivo de que se cometa el error de infravalorar los departamentos de IT suele ser que cuando un administrador de sistemas hace bien su trabajo, la percepción del usuario es que no hace falta a nadie que se encargue de mantener algo que ya está funcionando «por sí solo».

Adicionalmente, en el sector de internet a veces nos olvidamos de que existen otro tipo de empresas mucho más grandes en las que su estructura y directivas empresariales son mucho más complejas. Estas compañías son difíciles de gestionar y hace falta implementar tecnologías que faciliten el trabajo entre departamentos. 

Por tanto, el trabajo de los consultores y administradores de sistemas es clave; sino, el día a día en empresas de este tipo sería un absoluto infierno.

¿Se pueden solucionar los problemas técnicos de una empresa con las opciones de cloud computing que existen en la actualidad? ¿Podemos olvidarnos de tener en nuestra empresa a alguien contratado, o a una empresa que ofrezca servicios de sistemas TI,  que se encargue de administrar redes, hardware, servidores, backups.. y se asegure de que todo esté apunto para resistir nuestras jornadas de trabajo? Rotundamente no, ni ahora ni dentro de 10 años.

¿Es imprescindible el soporte?

Imaginemos por un momento una empresa que se dedique a la automoción y que tenga un departamento de I+D. En él, trabajan ingenieros diseñando piezas para automóviles que posteriormente patentarán y venderán a las marcas interesadas. Estos profesionales van a necesitar hardware potente para diseñar sus prototipos. Empezando con una red local que les permita mover alta cantidad de datos entre sus equipos y los servidores, pasando por servidores de almacenamiento que garanticen seguridad y políticas de backup bien diseñadas.

Es posible que necesiten también comunicarse con proveedores de todo el mundo por correo, vo-ip u otro tipo de medios. En el caso del correo es vital que no existan problemas de spam, falsos positivos o emails que no lleguen a su destino. Sería bueno que si uno de estos profesionales pierde su terminal móvil o el portátil en alguno de sus viajes, el dispositivo quede inutilizado y sus datos sean inaccesibles. Además, puede que tengan algún problema con el software instalado en su equipo y que necesiten para hacer su trabajo; y es por ello que necesitan un soporte que les permita solventar cualquier duda. Por muchos servicios que implementemos o externalicemos parte de estas problemáticas, necesitaremos que exista alguien que piense, mantenga y coordine todos estos puntos. Y esa persona es el administrador de sistemas (o sysadmin).

Entonces, ¿necesito contratar un sysadmin?

Aunque se diese el caso de que no contemos con ningún servidor en nuestra empresa, y que todos los datos y aplicaciones estén en la nube, en cuanto nuestro negocio crezca un mínimo vamos a empezar a necesitar a alguien que se asegure de que todo nuestro trabajo está disponible y atienda las necesidades tecnológicas que vayan surgiendo. Y ahí es donde se ubican los departamentos de IT.

Actualmente disponemos de soluciones increíbles que reducen aparentemente nuestros costes de sistemas;  tenemos Amazon EC2, Google Apps, Exchange Online, Windows Azure y un largo etc. Aún así, cabe destacar que nuestros usuarios siguen sin tener los conocimientos suficientes; tanto para diseñar una implantación y mantenimiento adecuados como para prescindir de profesionales cuya labor es precisamente esa. ¿Ya ves de otra forma a los departamentos de IT?

Usar Hyper-V con un adaptador de red inalámbrico

Publicado enSistemas TI

Hyper-V, el programa de virtualización para todo tipo de servidores de Microsoft, ha ido incorporando nuevas funcionalidades a lo largo de los años. Hasta el punto de que en la actualidad permite el almacenamiento en máquinas virtuales dinámicas; a la par que ha mejorado su compatibilidad con los diferentes procesadores y redes.

En los últimos días nos hemos dado cuenta de que Hyper-V no soporta redes inalámbricas a la hora de conectar las máquinas virtuales. Así, mientras que en entornos de producción no supone ningún problema el uso de Hyper-V, ya que todos los servidores siempre van conectados por cable; cuando nos disponemos a utilizarlos para otros propósitos las necesidades cambian y ahora parece que Hyper-V ya no es capaz de satisfacerlas. Este puede ser, por ejemplo, el caso de instalar Hyper-V en un dispositivo portátil.

Como solución a este problema, hemos optado por crear una nueva red virtual de tipo interna. A continuación, a dicha red le hemos añadido un puente de red que permita la conexión entre la red inalámbrica y la red interna que acabamos de crear. Si tú también estás teniendo este problema, y quieres ponerle solución y no sabes cómo, te contamos paso a paso qué es lo que tienes que hacer.

Usar Hyper-V con un adaptador de red inalámbrico

En primer lugar, accede al administrador de Hyper-V. Una vez allí, haz click en la pestaña del administrador de redes virtuales y pincha en la opción Nueva red virtual Interna. A continuación haz click, en primer lugar en el botón de agregar, y a continuación pulsa en aceptar.

Hyper-V-wlan1

Inmediatamente después tendrás que abrir las Conexiones de red.  Allí selecciona tanto la red inalámbrica como la red interna que habremos tenido que crear. Con el botón derecho de tu ratón selecciona la opción de agregar puente de red. Nuevamente, tendras que aceptar los cambios.

En la ventana de propiedades de puente de red, selecciona las opciones que te indicamos en la siguiente captura de pantalla. Para que se guarden los cambios, haz click en aceptar.

Hyper-V-wlan2

Entonces, ve al panel de control de Windows y, en redes e internet, busca el puente de red que acabamos de crear entre las opciones de conexiones de red disponibles.

Hyper-V-wlan3

Con el puente de red ya creado, deberás conectar la interfaz de tu máquina virtual a la red interna. De esta forma conseguirás tener acceso a internet. Finalmente, pulsa en aceptar para que se apliquen todos los cambios correctamente.

Hyper-V-wlan4

Con esto debería ser suficiente para que puedas utilizar Hyper-V con un dispositivo de red inalámbrica; como, por ejemplo, puede ser tu ordenador portátil. A pesar de que Hyper-V está configurado para ejecutarse solo en servidores físicos y no en equipos portátiles, con este método haremos que Hyper-V muestre las redes inalámbricas; además de todas las redes fijas.

Ya que mediante el uso de un Puente de red se puede acceder a internet desde una máquina virtual pero utilizando una red inalámbrica. Eso sí, recuerda borrar la conexión puente si vuelves a conectar el dispositivo por cable. De otra forma, no sería posible conectar el dispositivo a internet ya que estaría configurado para redes inalámbricas.