Powered By Blogger

miércoles, 4 de diciembre de 2013

El REGISTRO DE TRANSACCIONES EN UNA BASE DE DATOS DE SQL SERVER

El registro de transacciones esta formado por una serie de registros de todas las modificaciones de la base de datos y de las transacciones que ha realizado cada modificación. En el registro de transacciones figura el inicio de cada transacción y también registra los cambios de los datos facilitando suficiente información que permita deshace las modificaciones en cada una de las transacciones en caso de ser necesario. El registro de transacciones, cada cierto volumen de información, graba un punto de comprobación denominado chek point. En un punto de comprobación SQL Server se asegura de que todos los registros del registro de transacciones y las páginas de la base de datos modificadas se graben en el disco. La copia de seguridad del registro de transacciones permite recuperar la base de datos en un momento determinado. Para aumentar al máximo el rendimiento, cree archivos o grupos de archivos en tantos discos físicos como estén disponibles y distribuya en grupos de archivos diferentes los objetos que compitan intensamente por el espacio. No coloque el archivo de registro en el mismo disco físico con los demás archivos del grupo de archivos y distribuya en grupos diferentes las tablas de acceso frecuente y los indices no agrupados que pertenezcan esa tabla. De este modo, el rendimiento aumentará debido a las opciones de E/S en paralelo que realizan los archivos que se encuentran en discos diferentes.

OPERACIONES QUE PERMITE EL REGISTRO DE TRANSACCIONES

  • Recuperar las transacciones individuales
  • Recuperar las transacciones incompletas cuando se inicia SQL server.
  • Poner al día una base de datos, un archivo, un grupo de archivos o una página restaurados hasta el momento del error.
  • Permitir replicación transaccional.
  • Compatibilidad con soluciones de alta disponibilidad y recuperación ante desastres: Grupos de disponibilidad AllwaysOn, creación de reflejo de base de datos y trasvase de registros.
TRUNCAMIENTO DEL REGISTRO DE TRANSACCIONES
Se realiza para liberar espacio para que pueda ser reutilizado por el registro de transacciones. Esta operación es necesaria para evitar que se llene el archivo de registro. El truncamiento sucedera automáticamente en cualquiera de los siguientes casos:

  • En el modelo de recuperación simple, después de un punto de recuperación (check point)
  • En el modelo de recuperación completa o recuperación masiva, si se ha producido un punto de recuperación desde la copia de seguridad anterior, el truncamiento sucede despues de cuna copia de seguridad de registros.
FACTORES QUE PUEDEN RALENTIZAR EL TRUNCAMIENTO DEL REGISTRO
Cuando las entradas de registro permanecen activas durante una transacción de larga duración, a continuación presento una lista de los valores de prevención de truncamiento:





REFERENCIAS BIBLIOGRÁFICAS:
http://msdn.microsoft.com/es-es/library/ms190925.aspx

martes, 3 de diciembre de 2013

BASES DE DATOS RELACIONALES

Una base de datos conformada por varias tablas tiene un problema fundamental y es la repetición de datos o redundancia de datos en diferentes tablas lo que dificulta la gestión de la base de datos, es decir las tareas de actualización, inserción, modificación, eliminación, consulta, etc.
El concepto matemático de la relación se debe a E. F. Codd y las ventajas de la utilización de bases relacionales son:
  • Actúa sobre las tablas de datos en su conjunto y no sobre los registros.
  • Se pueden formular consultas complejas que involucran diferentes tablas de una manera sencilla.
  • La facilidad de utilizar debido a que la ubicación física de los datos es independiente de su tratamiento lógico.
En las bases de datos relacionales las tablas tienen estructura de matriz o tabla bidimensional, donde las filas son registros y las columnas campos.

CARACTERÍSTICAS DE LAS BASES DE DATOS RELACIONALES

  • Todos los registros de la tabla deben tener el mismo número de campos, aunque algún campo pueda estar vacío, deben ser registros de longitud fija.
  • Cada campo esta identificado por una etiqueta y dentro de una tabla cada etiqueta es única, el número de campos puede ser modificado una vez creado el fichero.
  • La base de datos esta formada por múltiples tablas, una por cada tipo de registro.
  • Los registros de una misma tabla deben ser todos diferentes, no pueden coexistir dos absolutamente idénticos, mínimo deben diferenciarse por un campo.
  • Los registros de una tabla pueden estar organizados en cualquier orden.
  • El contenido de cada campo esta delimitado por un conjunto  de valores posibles.
  • Permite la creación de nuevas tablas a partir de las existentes.
OPERACIONES RELACIONALES BÁSICAS

  • SELECCIÓN: obtención de una nueva tabla formada por filas o registros seleccionados de otra tabla previamente existente.
  • PROYECCIÓN: obtención de una nueva tabla formada por algunos campos de otras tablas previamente existentes.
  • CONCATENACIÓN: obtención de una nueva tabla uniendo dos tablas previamente existentes.
OTRAS OPERACIONES RELACIONALES Y OPERADORES BOOLEANOS

  • UNIÓN: el resultado es la obtención de una nueva tabla a partir de la agregación de dos tablas que ya existen, en este caso se requiere que las dos tablas tengan la misma estructura y las mismas etiquetas de campos.
  • INTERSECCIÓN: el resultado es la obtención de una nueva tabla a partir de los registros en común de dos tablas previamente existentes, en este caso se requiere que las dos tablas tengan la misma estructura y las mismas etiquetas de campos.
  • DIFERENCIA: el resultado es una nueva tabla con los registros de una tabla ya creada y diferentes a los de otra tabla previamente creada.
CREACIÓN DE LAS TABLAS DE UNA BASE DE DATOS RELACIONAL
El comando T-SQL de Microsoft SQL es CREATE TABLE que nos crea una base de datos vacía a la que posteriormente le podemos ALMACENAR registros  a través de comandos como INSERT o asistentes proporcionados por la base de datos. También podemos realizar actualizaciones con los comandos UPDATE, DELETE y otros.

CREACIÓN DE UNA BASE DE DATOS CON SQL SERVER
 Una base de datos de Microsoft SQL Server está formada por un conjunto de tablas en las que se almacenan los datos estructurados. Una tabla contiene una colección de filas tambien se conocen como tuplas o registros, también esta conformada por columnas denominadas atributos. Cada atributo identifica un determinado tipo de información por ejemplo fechas, nombres, direcciones, correos, teléfonos. Las tablas contienen diversos tipos de controles que podemos identificar como restricciones, reglas, desencadenadores, valores predeterminados y tipos de datos personalizados por el usuario que garantizan la validez de los datos. Se pueden agregar restricciones de integridad referencial declarativa a las tablas con el fin de asegurar la coherencia de los datos interrelacionados que se encuentran almacenados en las diferentes tablas. Además es posible que una base de datos almacene procedimientos que utilicen código de programación de T-SQL para realizar operaciones con los datos que contiene la base de datos.
En el proceso de creación de una nueva base de datos es muy necesaria la configuración de la estructura de almacenamiento de datos, en Microsoft SQL la información de la base de datos se distribuye en diversos archivos de datos y registros de transacciones así:

  • Archivo de datos principal o primario: archivo con extensión .mdf que contiene la información de inicio para la base de datos y se utiliza para almacenar datos.
  • Archivos de datos secundarios: archivos con extensión .ndf que contiene todos los datos que no caben el archivo principal, estos archivos solo se necesitan si la base de datos es muy grande y los datos no caben en el archivo principal.
  • Archivo de registro de transacciones: archivo con extensión .ldf que contiene la información de registro que se utiliza para recuperar la base de datos.

lunes, 2 de diciembre de 2013

SQL: CREAR UNA BASE DE DATOS

Comando: CREATE DATABASE

Crea la base de datos y el archivo principal y el archivo de registro o log.

Sintaxis: CREATE DATABASE database_name;

Ejemplo 1:

USE MASTER
GO
CREATE DATABASE Ejemplo1;
GO

Debido a que la instrucción no tiene elementos <filespec>, el archivo de base de datos principal tiene el tamaño de la base de datos model (4.160 KB) y el archivo de registro tiene el 25% del tamaño del archivo de la base de datos principal (1.040 KB), como no se especifico el parámetro MAXSIZE  los archivos pueden crecer hasta ocupar todo el espacio en el disco.

Ejemplo 2:

USE MASTER
GO
     CREATE DATABASE Ejemplo2
     ON
     (NAME = ejemplo2_DAT,
          FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\ejemplo2dat.mdf',
          SIZE = 10,
          MAXSIZE = 50,
          FILEGROWTH = 5)
     LOG ON
     (NAME = ejemplo2_LOG,
         FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\ejemplo2log.ldf',
         SIZE = 5,
         MAXSIZE = 25,
         FILEGROWTH = 5);
GO

La instrucción anterior crea la base de datos Ejemplo2 y el archivo principal ejemplo2dat.mdf con un tamaño de 10.240 KB y su tamaño máximo sera de 50 MB y el archivo de registro ejemplo2log.ldf con un tamaño de 5.120 KB y un maximo de 25 MB.

Ejemplo 3:

USE MASTER
GO
     CREATE DATABASE basedatos
     ON
     PRIMARY
     (NAME = basedatos1,
          FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\dbdat1.mdf',
          SIZE = 100MB,
          MAXSIZE = 200,
          FILEGROWTH = 20),
     ( NAME = basedatos2,
          FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\dbdat2.ndf',
          SIZE = 100MB,
          MAXSIZE = 200,
          FILEGROWTH = 20),
     ( NAME = basedatos3,
          FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\dbdat3.ndf',
          SIZE = 100MB,
          MAXSIZE = 200,
          FILEGROWTH = 20)
     LOG ON
     (NAME = basedatoslog1,
         FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\basedatoslog1.ldf',
         SIZE = 100,
         MAXSIZE = 200,
         FILEGROWTH = 20),
     (NAME = basedatoslog2,
         FILENAME = 'C:\SQL\EJEMPLOS\EJEMPLO2\basedatoslog2.ldf',
         SIZE = 100,
         MAXSIZE = 200,
         FILEGROWTH = 20);
GO

La instrucción anterior crea una base de datos con tres archivos de datos de 100MB cada uno, el principal se crea con la exención .mdf y los secundarios con .ndf, con un tamaño máximo de 200MB, también se crean dos archivos de registro o LOGS de 100MB cada uno y con un tamaño máximo de 200 MB.

REFERENCIA:

jueves, 28 de noviembre de 2013

SQL SERVER

Es un sistema para la gestión de base de datos desarrollado por Microsoft, sus lenguajes de consulta son T-SQL y ANSI SQL, sus contrincantes son Oracle, PostgreSQL y MySQL.
Microsoft SQL ofrece capacidad de administración y análisis de datos, incluye herramientas de inteligencia empresarial, esta integrado con Microsoft Visual Studio, Microsoft Office System, y en la actualidad esta preparado para la nube, además ofrece una gran variedad de herramientas:

  • Base de datos relacional: Motor de base de datos relacional
  • Servicios de replica: capacidad de replica de datos para aplicaciones de procesamiento de datos distribuidas o móviles.
  • Servicios de notificación: capacidad avanzada de notificación para desarrolladores.
  • Servicio de transformación de datos: capacidad de extracción, transformación y carga (ELT) de datos para almacenamiento e integración de datos.
  • Servicios de análisis: capacidad de procesamiento analítico en linea (OLAP) incorpora altas prestaciones en Data mining.
  • Servicio de Informes: para crear informes tradicionales o interactivos basados en Web.
  • Herramientas de administración: Microsoft Operations Manager (MOM) y Microsoft System Management Server (SMS). 
  • Herramientas de desarrollo: integrado con Microsoft Visual Studio para ofrecer capacidades de desarrollo de aplicaciones extremo a extremo.
  • Servicios de Integración: integración de datos procedentes de un amplio número de fuentes tradicionales.
Evolución de SQL Server:
  • SQL Server 1-0 para sistema Operativo OS/2 (SQL)
  • SQL Server 4.21 para sistema operativo WinNT (SEQUEL)
  • SQL Server 6.0/6.5 (SQL95/Hydra))
  • SQL Server 7.0 (MSDE (Sphinx)
  • SQL Server 2000 (MSDE (Liberty)
  • SQL Server 2005 (Express, Workgroup, Estándar y Enterprise) (Yukon)
  • SQL Server 2008 (Express (Katmai)
  • SQL Server 2008 R2 (Express, Enterprise, Web, Business Intelligence, compact, Standard, compare) (Kilimanjaro)
  • SQL Server 2012 (Denali)
Características de SQL:
  • Soporta transacciones
  • Soporta procedimientos de almacenamiento
  • Incluye entorno gráfico de administración que permite el uso de comandos DDL (Lenguaje de Definición de Datos) y DML (Lenguaje de Manipulación de Datos)
  • Soporta entorno Cliente-servidor
Programación:
  • T-SQL: es una extensión al SQL de Microsoft y Sybase, es un lenguaje de computo estandarizado y desarrollado originalmente por IBM que cumple con las características de un autómata de Turing. Permite la interacción con el servidor, que permite la creación y modificación de esquemas de bases de datos, introducción y edición de datos en la base de datos.
Ediciones:
Edición express: es una edición gratuita, adecuada para entornos de desarrollo y escritorio, así como pequeñas ediciones web y de servidor. Esta edición incluye 10 Gb de espacio máximo de almacenamiento por cada base de datos.

Windows azure: 

Requisitos, Instalación, primeros pasos:
Puede descargarlo de la siguiente dirección:
http://www.microsoft.com/es-es/sqlserver/editions/2012-editions/express.aspx nos ofrece cinco opciones:

para nuestro ejemplo seleccionamos la primera:
paso 1:
paso 2:
paso 3:
paso 4:
paso 5:
paso 6:

paso 7:
paso 8:
paso 8:
paso 9:
paso 10:



Referencias