La versión Express de SQL no dispone de ninguna herramienta para programar copias de seguridad automatizadas. Aunque sí se pueden realizar cópias manualmente ya sea por la interfaz de SQL Server Management Studio Express o por el comando de T-SQL backup database

Para poder mantener unas copias de un sistema SQL 2005 Express de forma automática podemos crear un procedimiento que ejecute el comando de backup sobre cada una de las bases de datos del sistema y guarde los archivos en el disco duro.
La creación del procedimiento de copia sería algo así:
USE [master] GO CREATE Proc [dbo].[spBackupsSQL] As DECLARE @nombreBBDD varchar(255),
@nombreArchivoBackup varchar(255), @comandoBorrado varchar(300), @fecha varchar(255), @existe int EXEC sp_configure 'show advanced options',1 RECONFIGURE EXEC sp_configure xp_cmdshell,1 RECONFIGURE DECLARE miCursor CURSOR FOR select name from sys.databases where name <> 'tempbd' OPEN miCursor FETCH miCursor INTO @nombreBBDD WHILE(@@FETCH_STATUS =
0) BEGIN SET @fecha = CONVERT(varchar(255),DATEPART(d,GETDATE())); SET @fecha = @fecha +'_'+CONVERT(varchar(255),DATEPART(m,GETDATE())); SET @fecha = @fecha +'_'+CONVERT(varchar(255),DATEPART(yyyy,GETDATE())); SET @nombreArchivoBackup = 'C:\'+@nombreBBDD+'_'+@fecha+'.bak' -- Miramos si existe el archivo EXEC xp_fileexist @nombreArchivoBackup, @existe output SET @comandoBorrado = 'del '+@nombreArchivoBackup IF @existe = 1 EXEC xp_cmdshell @comandoBorrado backup database @nombreBBDD to Disk=@nombreArchivoBackup FETCH miCursor INTO @nombreBBDD END
CLOSE miCursor DEALLOCATE miCursor EXEC sp_configure xp_cmdshell,0 RECONFIGURE EXEC sp_configure 'show advanced options',0 RECONFIGURE
El código anterior crea un procedimiento almacenado que carga las bases de datos con la select de la tabla sys.databases en un cursos que recorremos y vamos generando un archivo .bak de cada una de las bases de datos.
Además, verificamos que no exista el archivo antes, en el caso de existir, elimina el archivo para crear el nuevo. El proceso de borrado se realiza con el comando del y por ello activamos la ejecución de comandos con sp_configure xp_cmdshell.
Para poder decir que realmente hemos automatizado todo esto, nos hace falta que el procedimiento se ejecute periodicamente, ya que por sí solo no es posible. Lo podemos realizar con un archivo .bat, contendrá lo siguiente:
SQLCMD -q "Exec spBackupsServidorSQL" -Uusername -Ppassword -Sservername
Recuerda que spBackupsSQL es el nombre del procedimiento que queremos ejecutar.
Por último, con el programador de tareas de Windows ejecutamos el .bat
La tarea de diseñar un sitio web es un ejercicio en la promoción de una marca o idea en una forma atractiva al mismo tiempo que intenta obtener emociones y comportamientos humanos específicos. El diseñador debe saber cómo lograr estos objetivos dentro de una serie de limitaciones, incluidas las presentadas por el medio, el espacio físico, las características específicas del cliente, el entorno social, y el contenido y la finalidad del sitio.
Al igual que hay formas en que un compositor puede comunicar tristeza o enojo en la música, al igual que un pintor puede comunicar confusión sobre el lienzo, o un actor puede comunicarse sin hablar, el diseñador web se puede comunicar con forma, color y diseño.
El trabajo de diseño con más éxito proviene de proyectos con el máximo grado de confianza entre cliente / diseñador. La confianza es un valor de gran peso para cualquier proyecto de diseño.
No hay una segunda oportunidad para dar una primera impresión
Página Principal
Habida cuenta de la realidad sobre las primeras impresiones, el índice de un sitio web es claramente el más importante de su página. De todas las páginas del sitio, la página de índice que tiene el mayor trabajo.
En un sentido muy general, el objetivo de la página de índice es convencer a los visitantes que deben aventurarse mucho más en el sitio. La página de índice no debe tratar de volcar todo el contenido del sitio en los ojos del espectador de una sola vez. Por el contrario, la página debe ser concisa y limpia para una primera buena impresión.
Por ejemplo, el prólogo o primer capítulo de una novela no cuenta toda la historia del libro, sino que presenta una característica concisa y convincente de la historia que invita al lector a mantener el interés.
Páginas interiores
Una vez que el visitante ha visto la página principal del sitio y se ha interesado lo suficiente como para aventurarse en el, el contenido de la presentación se convierte en objetivo principal de las páginas. Después de todo, el visitante llega al sitio en busca de algo para ver, leer, escuchar, o las tres de estas cosas. En el interior el diseño de páginas y diseño en general debe ser un esclavo de ese hecho y se trata de presentar el contenido sin distracción.
En consecuencia, el interior de las páginas suelen tener un diseño y disposición que difiere de la página de índice. Concedido el aspecto debe ser coherente y el mensaje debe llegar muy bien a estas páginas de tal manera que hacer hincapié en el contenido. Además, debe haber una clara sugerencia (o dos o tres) de “a dónde ir desde aquí” en cada una de estas páginas. En cualquier caso, las páginas interiores tienen que ser igual de convincentes como la página de índice.
En blanco
Un tipo de comentario que me han llegado al hacer un diseño inicial de composiciones es algo como, “hay mucho espacio perdido en la página” o “Me gusta el color, pero no podemos poner algo mas?” Hay que intentar convencer al cliente de no llenar cada centímetro de la página. Utilizando apropiadamente el blanco nos ayuda a mantener la página concisa, sencilla, cómoda y centrada.
Es cierto que podría recortar el blanco y poner más contenido en la página, pero el contenido podría ser mucho menos eficaz. Además, los seres humanos por lo general no responden bien al desorden, como podemos ver en otros ejemplos en la vida.
Sala de respiración y Contexto
En un sentido muy general, un contexto incompatible, el desorden y el hacinamiento tienden a fomentar una falta de interés, mientras que el espacio abierto y un contexto en el medio ambiente tiende a estimular el interés y la apertura a la sugestión. Parte de este tipo de respuesta tiene que ver con la forma en que el espacio abierto va asociado con la comodidad emocional o física.
Ojo de flujo
El camino de visión debe ser cuidadosamente planificado. El diseño debe estar integrado y establecido de tal manera que influya en los ojos de los espectadores y los llevemos por el camino deseado.
Por lo tanto, parte del trabajo del diseñador es diseñar y establecer las páginas del sitio para que los ojos del visitante vayan a determinadas áreas y hacerlo en un orden predeterminado. Dependiendo del tipo de contenido que va a ocupar una página web, esta tarea de dirigir los ojos de los espectadores puede ser un asunto sencillo o difícil. Aquí vemos el porque un buen diseño puede ser tan poderoso y un mal diseño tan inútil.
La pantalla / web tiene su propio conjunto de la visualización y los diseñadores deben mantenerse al día con los últimos datos de pruebas de utilidad. Es importante entender cómo el público en general tiende a mirar en las páginas web y lo que generalmente tienden a esperar de ellas en términos de diseño e interacción. Así pues, en manos de un diseñador competente todos los fundamentos de la dirección del flujo del ojo (el arte) son templados por este tipo de información.
En cualquier caso, los diseñadores y sus clientes deberían entender o apreciar el hecho de que la tarea de establecer una página web implica mucho más que presentar el contenido en una forma atractiva. El diseño de la estructura y el contenido debe abordar aspectos específicos que influyen en la manera en que los usuarios enfocan y consumen.
Logotipos e imágenes
Qué tratamos de decir exactamente
Cualquier marca que es una buena marca tiene un estilo de vida, un punto de vista, una cultura, una actitud o todas estas cosas que se relacionan con ella. Uno de los principales trabajos del diseñador es traducir esa “cosa” en un aspecto y estilo de comunicación para el sitio de la empresa. Cualquier visitante debe percibir de inmediato el mensaje central que encarna la marca con sólo ver el diseño de la página web. Una vez más, los fundamentos del arte son las herramientas para hacerlo.
Sin embargo, debe entenderse que cuando una empresa tiene una marca que no está bien concebida o no se asocia con un estilo de vida, un punto de vista, una cultura o una actitud, el trabajo del diseñador es mucho más difícil.
Una de las solicitudes más frecuentes de los clientes es que el logo sea más grande. Y eso es casi siempre un error. Hay muchas razones para esto, y voy a llegar a un par de ellas enseguida, pero primero pensar en este ejemplo. Cuando Cadillac, Jaguar, BMW o Mercedes Benz (o de cualquier fabricante de automóviles para el caso) pone su firma en una campaña, no hacen esta importante característica de 3 ‘de ancho y 2 “de altura. En lugar de ello, hacen que sea muy pequeño para encajar con elegancia lo más importante – el coche.
Es evidente que, el logotipo no es la característica importante del sitio web y no obtener ningún énfasis. Más bien, es el contenido y la finalidad del sitio lo que debe destacarse. Por consiguiente, el logotipo no debería dominar la página, sino el trabajo sutil de ayudar a prestar a la gravedad, los intereses, y el contexto para el contenido y la finalidad del sitio.
Más información sobre logotipos
El logotipo puede comunicar cosas importantes sobre una empresa y / o un sitio web, pero eso es casi poner el carro delante del caballo. Idealmente, el empleo del logotipo es simplemente la marca el sitio y su contenido. La mayor parte de el valor comunicativo del logotipo debe provenir de un dedicado esfuerzo de comercialización que se presta y el logotipo de la empresa el valor deseado y los valores.
Así pues, no, no hacer el logo más grande. Dejemos que el logotipo haga su sencillo su trabajo en la página web (y en otros lugares) no importa su tamaño. Un resultado de dejar el logo en un tamaño manejable de la página es que puede tener un mayor impacto por el uso de blanco que lo rodea.
Conclusión
Los objetivos y deseos del cliente siempre son pertinentes a un proyecto de diseño web, pero esperemos que la anterior información contribuya a demostrar que las preferencias de cada cliente deben tener a menudo un asiento trasero para demostrar los principios del diseño y las expectativas de los usuarios del sitio.
El diseño web es un esfuerzo en la dirección y la comunicación de la misma manera que lo es el arte y la publicidad. No es algo a lo que uno se pueda dedicar a la ligera y es mejor dejar a los artistas-psicólogos que saben cómo utilizar el diseño para lograr objetivos específicos dentro de todo tipo de limitaciones.
Poder envíar una página en HTML por correo electrónico a nuestros usuarios nos ofrece una vía para mantener el contacto con nuestros usuarios a la vez que podemos anunciar nuevos productos, servicios y novedades.
El correo electrónico sin colores ni imágenes quedó atrás y la mayoria de gestores de correo modernos (Outlook, ThunderBird, Evolution…) soportan HTML y estilos CSS. El problema es que no todos nuestros usuarios visualizan sus correos vía estos programas y lo realizan con sus navegadores Web conectados directamente a sus proveedores, es decir, vía webmail.
![]()
Los proveedores de webmail, por lo general, acotan y restringen la carga de elementos HTML en los mensajes que sus usuarios envían y reciben, por lo que, de estilos CSS más bien nos podemos olvidar para ser compatibles con los webmail más comunes. ¿Qué solucion nos queda? Sigue leyendo, no está todo perdido.
Tal y como podemos ver, aunque es funcional, nos limita bastante a la hora de crear un html complejo. Con estos consejos claros desde el principo podremos empezar sobre seguro en la tarea de confeccionar un HTML para envíar por correo.
En T-SQL (Transact SQL) podemos definir una variable que nos permite recorrer un conjunto de resultados obtenidos a través de una SELECT fila a fila, ha esta variable se le denomina Cursor
Cuando trabajemos con cursores debemos seguir los siguientes pasos:
DECLARE <nombre_cursor> CURSOR FOR
<sentencia_sql>
-- apertura del cursor
OPEN <nombre_cursor>
-- Lectura de la primera fila del cursor
FETCH <nombre_cursor> INTO <lista_variables>
WHILE (@@FETCH_STATUS = 0)
BEGIN
-- Lectura de la siguiente fila de un cursor
FETCH <nombre_cursor> INTO <lista_variables>
...
END -- Fin del bucle WHILE
-- Cierra el cursor
CLOSE <nombre_cursor>
-- Libera los recursos del cursor
DEALLOCATE <nombre_cursor>
Utilizar un cursor es muy práctico ya que nos permite por ejemplo, trabajar con los datos de una fila, operar sobre esos datos y por ejemplo, actualizar el registro, con el resultado de las operaciones. Para dar un mejor ejemplo, para realizar una actualización de unos registros que deben tomar el valor calculado en función de otros datos del mismo registro.
DECLARE @fechaInicio varchar(30), /*Declaramos variables*/ @fechaFin varchar(30), @idFactura int, @fechaCalculos datetime
SET @fechaInicio = '1/1/2005'; /*Seteamos variables*/ SET @fechaFin = '1/1/2006';
DECLARE miCursor CURSOR FOR
/*Especificamos la select*/ select id,fecha as fechaCalculos from FACTURAS_CLIENTES where fecha >= CONVERT(DATETIME,@fechaInicio,103) AND fecha <= CONVERT(DATETIME,@fechaFin,103)
OPEN miCursor /*Abrimos el cursor*/
FETCH miCursor INTO @idFactura, @fechaCalculos /*Asignamos cada columna de la SELECT a una variable definida arriba*/
WHILE(@@FETCH_STATUS = 0) BEGIN
SET @fechaCalculos = @fechaCalculos + 10 -- OPERACION
-- Mostramos el resultado PRINT 'FECHA CALCULOS:'+ CAST(@fechaCalculos as varchar)
/*Importante volver a hacer el FETCH*/ FETCH miCursor INTO @idFactura, @fechaCalculos END
CLOSE miCursor
DEALLOCATE miCursor
Aunque en un principio parezca algo difícil de entender es sencillo si se sigue correctamente la estructura del cursor. Así además evitamos fallos en la sintaxis.
Usar un cursor nos puede simplificar mucho la tarea de programar un script en otro lenguaje de programación para acabar haciendo lo mismo que con un cursor programador directamente sobre T-SQL, que además se ejecutará más rápido.