miércoles, 14 de noviembre de 2012

SQLBackupAndFTP Free: Crea copias de seguridad programadas de las bases de datos de SQL Server o SQL Server Express, comprime las copias de seguridad, las almacena localmete, en una red, en un servidor FTP o en la nube

Investigando en la red y probando algunas herramientas gratuitas para crear copias de seguridad programadas para las bases de datos de SQL Server o SQL Server Express me encontre SQLBackupAndFTP Free, la he probado y la verdad me ha gustado bastante y por eso la comparto con ustedes. Ademas de hacer el backup de una o varias bases de datos automaticamente de acuerdo a la hora o frecuencia que se le programe, comprime las copias de seguridad en el formato deseado .zip o 7z, las almacena localmente, en una red, en un servidor FTP o en la nuve (Google Drive, DropBox, Amazon, etc.).

CARACTERISTICAS DE SQLBackupAndFTP:

Puede programar tareas diarias para:
- Realizar copias de seguridad de tus bases de datos de SQL Server
- Comprimir las copias de seguridad en Zip o 7z
- Subir las copias de seguridad a un servidor FTP remoto
- Guardarlas en un directorio compartido en la red local (LAN)
- Subir el backup a la nube (DropBox, Google Drive, Amazon S3, etc.
- Enviarte una confirmación por correo electrónico sobre el éxito o fracaso del trabajo.
- Programar tareas de copia de seguridad ZIP y FTP
- Copia de seguridad remota de la base de datos (secuencia de comandos)
 

viernes, 4 de mayo de 2012

¿Cómo cambiar el tipo de datos nchar(10) por defecto al crear un nuevo campo o columna a una tabla (modo diseño)?

Cuando entramos a una table en modo diseño, al poner el nombre del campo que estamos agregando siempre sale por defecto el tipo de datos nchar(10),  la pregunta es: ¿Cómo cambiar el tipo de datos nchar(10) por defecto al crear un nuevo campo o culumna a una tabla (modo diseño)?, pues es facil, te explico a continuación:
  1. Clic Botón Inicio 
  2. Clic Ejecutar 
  3. Escribir regedit
  4. Entrar a la siguiente ruta:
  5. HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\100\Tools\Shell\DataProject
  6. y dar doble clic sobre la etiqueta y en el valor cambiar nchar por el tipo de datos preferido:
  7. SSVDefaultColumnType

Fuente Aquí

sábado, 21 de abril de 2012

Comprobar si un campo es numérico [Oracle]

Problema: Tenemos un campo cuyo tipo es alfanumérico, pero que es usado tanto para almacenar valores numéricos como alfabéticos (o sea, letras y números vamos). Queremos hacer una consulta que nos compruebe cuándo en ese campo hay un valor numérico propiamente dicho y cuándo no.


En Oracle, hasta donde yo sé y por lo que he investigado por ahí, no hay una función que nos sirva expresamente para esto, sin embargo sí que podemos hacer algún ‘apaño’. En Internete podemos encontrar varios, pero de todos ellos, el que más me convence por sencillo y efectivo es el sgte:


TRANSLATE(nombre_campo,'T 0123456789','T') is null

Uso de Exceptions en Script SQL Server

SQL Server 2005 y posterior posee un mecanismo de manejo de excepciones en un formato de bloque TRY/CATCH. Se debe escribir el código a ejecutar dentro del bloque TRY (BEGIN TRY - END TRY), el cual debe estar seguido de un bloque CATCH (BEGIN CATCH - END CATCH) en el cual se incluye el código de manejo de excepciones. Al ejecutar el bloque TRY, si no ocurre ningún error, se pasa el control a la primera sentencia siguiente al bloque CATCH, en caso de que ocurriese algún error se pasa el control a la primera sentencia dentro del bloque CATCH.



BEGIN TRY

     INSERT INTO Sales.Currency(CurrencyCode, Name, ModifiedDate )

     VALUES('LAE','Pol','01/06/2005')

     PRINT 'Inserción completada con exito.'

END TRY

BEGIN CATCH

     PRINT 'Inserción fallida.' 

END CATCH

Tabla País para SQL Server

Esta es la tabla de país para una base de datos de SQL Server


/****** Script para crear la tabla con todos los paises ******/


CREATE TABLE [DIC_Pais](
      [PK_ID] [int] NOT NULL,
      [ISONUM] [int] NOT NULL CONSTRAINT [DF__DIC_Pais__ISONUM__38EE7070] DEFAULT (''),
[ISO2] [nvarchar](2) COLLATE Latin1_General_CI_AI NOT NULL CONSTRAINT [DF__DIC_Pais__ISO2__39E294A9]  DEFAULT (''),
[ISO3] [nvarchar](3) COLLATE Latin1_General_CI_AI NOT NULL CONSTRAINT [DF__DIC_Pais__ISO3__3AD6B8E2]  DEFAULT (''),
[NOMBRE] [nvarchar](80) COLLATE Latin1_General_CI_AI NOT NULL CONSTRAINT [DF__DIC_Pais__NOMBRE__3BCADD1B]  DEFAULT (''), CONSTRAINT [PK_DIC_Pais]
PRIMARY KEY CLUSTERED
(
 [PK_ID] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

Trucos de Sql Server Reducir Base de Datos con SQL Server

Con una utilidad del Enterprise Manager del SQL Server podemos reducir el tamaño de una Base de Datos.

Cuando el tamaño físico de nuestra base de datos es superior al tamaño real de datos, es decir, cuando el volumen de datos ocupa 10 MB y la base de datos esta ocupando 100 MB es debido a que las modificaciones que realizamos en la base de datos. 

Cuando borramos un registro o otros objetos de la base de datos no se libera el espacio físico del disco y por ello no se reduce la base de datos.

Para reducir la base de datos:

  1. Ejecutar el Enterprise Manager
  2. Colocarnos encima de la base de datos a reducir
  3. Seleccionar la base de datos y apretar botón derecho del ratón y seleccionar la opción "todas las tareas" y "Shrink Database". 
  4. En el cuadro que aparece seleccionar "Move pages to beginning of file before shrinking"
  5. Pulsar Ok


Ya hemos reducido el tamaño de la base de datos.

jueves, 29 de marzo de 2012

Oracle lanza oficialmente la máquina Exalytics

Se trata de una solución de ingeniería conjunta con capacidad in-memory que permite el procesamiento analítico y capacidades de business intelligence de forma rápida. Exalytics ya fue anunciada durante el pasado Oracle OpenWorld 2011 de San Francisco.
Oracle ha anunciado la disponibilidad inmediata de su solución Exalytics. Un sistema de Business 
Intelligence especialmente diseñado para el big data, que integra hardware y software en una misma plataforma basada en las tecnologías in-memory como forma de proporcionar un análisis de la información isntantáneo. “Antes de terminar de hacer una pregunta, ya la habrá respondido”, llegó a afirmar el siempre bromista Larry Ellison durante su presentación en el OpenWorld de San Francisco el pasado año.

miércoles, 21 de marzo de 2012

Restricciones CHECK en Microsoft Sql Server

Las restricciones CHECK exigen la integridad del dominio mediante la limitación de los valores que puede aceptar una columna. Son similares a las restricciones FOREIGN KEY porque controlan los valores que se colocan en una columna. La diferencia reside en la forma en que determinan qué valores son válidos: las restricciones FOREIGN KEY obtienen la lista de valores válidos de otra tabla, mientras que las restricciones CHECK determinan los valores válidos a partir de una expresión lógica que no se basa en datos de otra columna. Por ejemplo, es posible limitar el intervalo de valores para una columna salary creando una restricción CHECK que sólo permita datos entre 15.000 y 100.000 dólares. De este modo se impide que se escriban salarios superiores al intervalo de salario normal.

Sintaxis básica:

alter table NOMBRETABLA
      add constraint NOMBRECONSTRAINT
      check CONDICION;


Puede crear una restricción CHECK con cualquier expresión lógica (booleana) que devuelva TRUE (verdadero) o FALSE (falso) basándose en operadores lógicos.

domingo, 18 de marzo de 2012

Trucos Oracle: Alternativa a NOT IN para evitar subconsultas

Problema: Necesitamos seleccionar un determinado valor (o varios) que NO pertenezca a un conjunto dado. Para esto, claro está, existe el operador de comparación NOT IN, que también puede usarse en subconsultas. Normalmente funciona muy bien, pero (especialmente en el caso de las subconsultas) puede resultar muuuy lento; dado que para saber si un elemento NO está en un conjunto, no queda más remedio que compararlo con TODOS los elementos del conjunto. Si el conjunto es muy grande y además queremos comprobar muchos elementos (caso muy típico en las subconsultas, p.e. buscar los elementos de una tabla que no están en otra) entonces la consulta puede ralentizarse enormemente.

sábado, 17 de marzo de 2012

Hazte DBA en dos días, según Oracle

Oracle, la empresa más importante en ofrecer soluciones en base de datos ofrece un manual gratuito en pdf, de los pasos que se deben tomar para convertirse en DBA de oracle es decir Database Administrator. Aquí lo he puesto disponible tanto para la versión 10g como 11g.

Mas información aquí:

Para Oracle 10g
http://download.oracle.com/docs/cd/B19306_01/server.102/b14196.pdf 




Para Oracle 11g
http://docs.oracle.com/cd/E18283_01/server.112/e10897.pdf 

¿Cómo eliminar elementos duplicados de una tabla en SQL? [Oracle]


Puede utilizar este código para eliminar los elementos duplicados que a veces al hacer un import de datos se duplican.

DELETE
FROM tabla a
WHERE rowid > ( SELECT min(rowid)
FROM tabla b
WHERE b.columna = a.columna
and b.columna = a.columna );

Donde el nombre “columna” es la columna que quieres filtrar y comparar para eliminar los elementos duplicados de dicha columna.

viernes, 16 de marzo de 2012

Visualizar información de todas las tablas de una base de datos(tamaño de cada tabla, las filas de cada tabla, etc)


Mediante este truco de SQL Server podrás visualizar la información de todas las tablas de una base de datos. Podrás ver el tamaño de cada tabla de la base de datos, las filas que tiene cada tabla, el tamaño de los índices y el espacio reservado que tiene (Allocated size)
Para ello, tenemos que crear los siguientes dos procedimientos (store procedure)...

jueves, 15 de marzo de 2012

Función SQL Server que convierte de número a letras o literal

Muchas veces necesitamos convertir un numero a texto o literal, aquí les muestro una función para SQL Server que lo hace y con varios ejemplos de uso:

Cómo numerar dinámicamente filas en una instrucción SELECT de Transact-SQL

En este artículo se describe cómo clasificar dinámicamente filas cuando realiza una instrucción SELECT mediante un método flexible que puede ser la única solución posible y que es más rápido que la solución del procedimiento. La numeración u ordenación de filas es un problema de procedimiento bastante habitual. Las soluciones normalmente se basan en bucles y tablas temporales; por lo tanto, se basan en SQL Server bucles y cursores. Esta técnica se basa en una instrucción AUTO JOIN. La relación elegida es normalmente "es mayor que". Cuenta cuántas veces cada elemento de un conjunto de datos determinado cumple la relación "es mayor que" cuando se compara el conjunto a sí mismo.

Bienvenidos a nuestro blog VainasBD


Como un apartado de VainasTecnologicas.com te ofrecemos la más cordial bienvenida a nuestro blog VainasBD.