Você está na página 1de 29

UNIDAD 2: Administracin de bases de datos 2.

1 Creacin de bases de datos


Gracias a su interfaz grafica la creacin de una base de datos, especficamente su estructura bsica, es una labor extremadamente simple en SQL Server 7. Crearla manualmente o con la ayuda de un asistente, no requiere ms de uno o dos minutos. Esto implica asignarle caractersticas fsicas a la base de datos, como su tamao, tasa de

crecimiento, nombre, identificacin de su propietario y grupos al que pertenece. Una base de datos est compuesta por tres tipos de archivos: Archivo primario (primary file): este archivo contiene la informacin necesaria para cargar e iniciar la base de datos, y adems puede almacenar datos. Este archivo aparece en cualquier base de datos creada. Archivo secundario (secundary file): el archivo secundario existe solamente si el archivo primario no es suficiente para mantener todos los archivos de datos. Dependiendo del trabajo de la base de datos, pueden ser necesarios varios archivos secundarios. Archivo de log de transacciones: Se utiliza para la recuperacin de la base de datos. Existe por lo menos un archivo log para cada base de datos; sin embargo, puede crearse ms de uno. Su tamao mnimo es de 512 kb. Cuando se crea una base de datos, todos los archivos que la componen son inicialmente llenados con ceros, para sobreescribir cualquier dato dejado del disco por archivos eliminados. Puede crearse una base de datos utilizando Transact-SQL, o por medio del Enterprise Manager, diligenciando algunas cajas de dilogo o del asistente de cracin de base de datos.

Crear manualmente una base de datos Paso 1: Dentro del Enterprise Manager haga clic sobre el cono de Microsoft SQL Servers y luego expanda un servidor. Paso 2: Haga clic con el botn derecho del mouse en la carpeta Databases, escoja New, y haga clic en New Database. Paso 3: Digite un nombre para la nueva base de datos. El archivo primario y los archivos de Log de transacciones de la nueva base de datso, se crean usando como prefijo el nombre de la nueva base de datos, por ejemplo: newpub_Data.mdf y newpub.ldf. El tamao inicial del archivo primario y del Log se basan en el modelo de la base de datos. Crear una base de datos con el asistente La utilizacin del asistente de base de datos es bastante sencilla. Un asistente puede activarse con el comando del men Tools-Wizards. El mismo abre una ventana en la cual debe hacerse clic en el tem Database y doble clic en el tem Create Database en el pnel de la izquierda y en el men rpido se escoge Tools- Wizards. La primera ventana del asistente es solamente de carcter informativo. Presione Next para continuar. En la segunda ventana ingrese el nombre y especifique otra localizacin para la base de datos y presiones Next. En la etapa siguiente, acepte el valor sugerido para el nombre de los archivos de la base de datos y su tamao inicial para los archivos de la base de datos. Despus de presionar Next deben de ingresarse algunos datos ralativos al crecimiento de la base de datos. Por defecto, el asistente considera que la base de datos tendr un crecimiento automtico con incrementos del 10% del tamao actual. Puede modificar este patrn porcentual y/o definir el crecimiento de la base de datos en megabytes.

En este ltimo caso, debe seleccionar Grow the in megabytes. La base de datos podr entonces crecer en megabytes cada vez, si se acepta el valor de 1Mb sugerido por el sistema. Al presionar el botn finish, se crea la base de datos y el asistente pregunta si ahora va a crearse un plan de mantenimiento para la base de datos.

2.1.1 Creacin de la estructura de la base de datos


En la terminologa usada en SQL no se alude a las relaciones, del mismo modo que no se usa el trmino atributo, pero s la palabra columna, y no se habla de tupla, sino de lnea. A continuacin se usarn indistintamente ambas terminologas, por lo que tabla estar en lugar de relacin, columna en el atributo y lnea en el de tupla, y viceversa. Prcticamente, la creacin de la base de datos consiste en la creacin de las tablas que la componen. En realidad, antes de poder proceder a la creacin de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas. De esta manera, para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas. El sistema previsto por el estndar para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estndar), pero cada DBMS prev un procedimiento propietario para crear una base de datos. Normalmente, se ampla el lenguaje SQL introduciendo una instruccin no prevista en el estndar: "CREATE DATABASE". La planificacin de la estructura de la base de datos, en particular de las tablas, es vital para la gestin efectiva de la misma. El diseo de la estructura de una tabla consiste en una descripcin de cada uno de los campos que componen el registro y los valores o datos que contendr cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definicin de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Los registros constituyen la informacin que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este. Generalmente los diferente tipos de campos que su pueden almacenar son los siguientes:

Texto (caracteres), Numrico (nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc., imgenes.

2.1.2 Creacin de dominios definidos por el DBA


Los dominios son tipos de datos definidos por el administrador de base de datos. Por ejemplo, InterBase no tiene un tipo de dato "MONEDA", pero lo podemos definir a partir de otro tipo de dato, por ejemplo DOUBLE PRECISION. CREATE DOMAIN < nombre Dominio>AS <Tipo Datos> [DEFAULT < valor defecto>] [ ,*CONSTRAINT < nombre restriccin>+ CHECK (< condicin check> )-+;

2.1.3 Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas)
Tabla Las tablas son la esencia de las bases de datos; son ellas las que almacenan los datos en la base de datos. Agrupan los datos en forma de filas y columnas como una hoja electrnica. Cada fila representa un registro y cada columna un atributo o campo de la tabla. Cada campo de la tabla mantiene informacin de un tipo de dato. Por ejemplo, un campo llamado Valor posee un tipo de dato numrico, mientras que el campo Nombre contiene informacin de tipo texto. Los campos de una tabla pueden tener restricciones en cuanto al contenido que van a almacenar. Por ejemplo, un campo llamado Cantidad no puede almacenar texto, solamente nmeros, y no puede aceptar valores menores de 1 o mayores de 100. Cdigo para la creacin de una tabla: mysql > create table cuenta > (numero_cuenta integer, >nombre_sucursal varchar (30), >saldo integer >);

Atributos De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Pueden ser atributos de una entidad cualquier caracterstica o propiedad de sta. Por ejemplo de la entidad Cuenta son atributos: numero_cuenta, nombre_sucursal y saldo.

Para insertar valores en esos atributos el cdigo correspondiente es el siguiente: insert into cuenta (numero_cuenta,nombre_sucursal,saldo) values (3617287,"Banorte",5000); Llave primaria La llave primaria est compuesta por una o ms columnas de la tabla, que identifican exclusivamente una fila dentro de la tabla. La especificacin de una llave primaria garantiza la integridad de la tabla. Las columnas (o columna) que componen una llave primaria no pueden contener el valor NULL. Al especificar la llave primaria, SQL Server crea un ndice especfico para garantizar que la llave sea nica. Cdigo para agregar una clave primaria: mysql > alter table cuenta > add primary key (numero_cuenta);

Llaves heredadas Las entidades de bajo nivel heredan todos los atributos de las entidades de mayor nivel. Cdigo para crear una clave fornea mysql> FOREIGN KEY (numero_cuenta) > REFERENCES cuenta (numero_cuenta);

2.1.4 Creacin de vistas de la base de datos (view)


Una vista es una tabla virtual cuyo contenido se ha definido por una consulta a la base de datos. La vista no es una tabla fsica sino un conjunto de instrucciones que retornan un conjunto de datos. Las vistas permiten que diferentes usuarios vean la misma informacin bajo otra ptica. Las vistas tambin facilitan que la informacin se combine para atender a un determinado usuario y, as mismo, se exporta a otras aplicaciones. Crear una vista Una vista puede crearse con el comando Transact-SQL llamado CREATE VIEW, o usando el editor de vistas del Enterprise Manager. Al crear una vista, tenga en cuenta las siguientes consideraciones: 1. Una vista slo puede crearse en la base de datos que est en uso. 2. No es posible asociar triggers, reglas o valores predeterminados a una vista. 3. Una vista puede hacer uso de datos de otra vista. 4. Una vista puede ser referenciada por un procedimiento almacenado. 5. No es posible crear un ndice para una vista. 6. Si ms de una columna de la vista tuviera el mismo nombre, stas deben referirse con un alias, o deben ser antecedidas por el nombre de la tabla a la que pertenece. 7. Las columnas de una vista son idnticas a las columnas de las tablas de origen. En seguida vamos a crear una vista en la base de datos Northwind, cuya finalidad ser establecer una correspondencia entre los clientes y los pedidos que fueron despachados. Dicha vista usar campos de las tablas Orders y Customers. Su estrctura ser la siguiente: campos OrderID y ShippedDate de la tabla Orders y campos CompanyName y Phone de la tabla Customers.

1. Abra la base de datos de Northwind, haga clic en la carpeta SQL Server Views y haga clic en New SQL Server View. 2. Haga clic en el cotn Add Table, el ltimo de la barra de herramientas y que tiene el smbolo de la adicin. Cuando aparezca la caja de dilogo con las tablas de la base de datos, seleccione Orders y haga clic en el botn Add. 3. Repite esta operacin seleccionando la tabla Customers. Ver qur las tablas son llamadas, puesto que estn relacionadas por medio del campo Customer_ID. Presione el botn Close para cerrar la caja de dilogo. 4. El prximo paso consiste en seleccionar las columnas de las tablas que se mostrarn en la vista. 5. Ahora es el momento de ejecutar la consulta presionando el botn Ejecutar (con la figura de signo de exclamacin en la barra de herramientas).

2.2 Definicin del esquema de integridad


Un control de integridad o restricciones es aquel que nos permite definir con precisin el rango de valores validos para un elemento y/o las operaciones que sern consideraciones validas en la relacin de tale elementos. El objetivo primordial de un control de integridad es la reduccin de la inconsistencia en la BD. Las restricciones de integridad normalmente se aplican en tres niveles: 1. Un atributo simple.- Se define un dominio del atributo que es totalmente independiente del resto del entorno de la Base de Datos. 2. Un atributo dependiente de otro.- Se definen subconjuntos de dominios posibles para un atributo X segn el valor que previamente a sido asignado al atributo W. 3. Relaciones entre tuplas de una o varias tablas.- Se especifican valores posibles para registros completos segn los valores acumulados registros previos o por valores existentes en registros de otras tablas. La implementacin de la cardinalidad resultante en el modelo ser una de las restricciones importantes que el sistema debe considerar.

La programacin de todas estas restricciones regularmente corre a cuenta de un programador especializado (que pudiera ser el DBA), mediante la adicin de mdulos al sistema; lo anterior dado que los DBMS comnmente no incorporan facilidades para su implementacin.

2.2.1 Validar y verificar integridad de entidad e integridad referencial


Integridad de entidad La integridad de entidad define una fila como una nica instancia de una entidad para una tabla en particular. La integridad de entidad asegura la integridad de la columna de identificacin o la clave primaria de una tabla (a travs de ndices, estricciones UNIQUE, restricciones PRIMARY KEY, o propiedades IDENTITY). Integridad referencial La integridad referencial preserva las relaciones definidas entre tablas, cuando se entran, modifican o borran registros. En SQL Server, la integridad referencial esta basada en interrelaciones entre claves ajenas y claves primarias o entre claves ajenas y claves nicas (a travs de las restricciones FOREIGN KEY y CHECK). La integridad referencial asegura que los valores de las claves son consistentes a travs de distintas tablas. Tal consistencia requiere que no exista referencia a valores inexistentes y que, si un valor clave cambia, todas las referencias cambien consistentemente a lo largo de la base de datos. Cuando se fuerza la integridad referencial, SQL Server previene a los usuarios de realizar lo siguiente: Agregar registros a una tabla relacionada si no hay registros asociados en la correspondiente tabla primaria. Cambiar valores en la tabla primaria que resulten en registros hurfanos en las tablas relacionadas. Borrar registros desde una tabla primaria si existen registros relacionados en la tabla ajena.

2.2.2 Creacin de disparadores (Triggers)


Puede crearse un trigger con el comando Transact-SQL CREATE TRIGGER, o por medio del Enterprise Manager. En los dos casos es necesaria la digitalizacin de los comandos SQL, que se ejecutarn cuando se active el trigger. Primero, veamos la sintaxis simplificada del comando SQL. CREATE TRIGGER nombre_del_trigger ON nombre_de_la_tabla FOR [INSERT /, DELETE /, UPDATE] AS comandos Donde: ON nombre_de_la_tabla: indica la tabla o esquema para el cual se ha creado el trigger. FOR: debe estar seguido del tipo de comando o comandos que activan el trigger. AS: inicia el cuerpo del trigger con los comandos que van a ejecutarse.

2.2.3 Creacin de procedimientos almacenados


Se crea un procedimiento almacenado con el comando CREATE PROCEDURE. Esto puede hacerse usando Enterprise Manager, Query Analyzer o el asistente de procedimientos almacenados. Con excepcin de los comandos CREATE PROCEDURE, prcticamente cualquier comando SQL puede incluirse en un procedimiento alamcenado. Veamos los comandos que son permitidos en un procedimiento almacenado: CREATE DEFAULT CREATE PROCEDURE CREATE RULE CREATE TRIGGER CREATER VIEW Si un procedimiento almacenado llama a otro procedimiento almacenado, el

procedimiento que invoca puede tener acceso a todos los objetos creados por el procedimiento invocado. Si un procedimiento almacenado remoto fuera ejecutado, las modificaciones hechas por el mismo en el servidor remoto no podran deshacerse (ROLLBACK). Pude crearse un procedimiento almacenado temporal adicionndole el smbolo # o ## antes del nombre del procedimiento almacenado. Como ejemplo, vamos a crear un procedimiento almacenado en la base de datos Northwind. Para ejecutar esta tarea, debe abrir la carpeta de esa base de datos, y en la carpeta Stored Procedures, hacer cilc con el botn derecho del mouse. En el men rpido, seleccione New Stored Procedure. Se abre entonces una caja de dilogo, en la cual podr digitar los comandos del procedimiento almacenado. El procedimiento almacenado que va a crearse, mostrar el contenido de las columnas Phone y Companyname de la tabla de Customers. El nombre del procedimiento

almacenado puede ir entre comillas o corchetes. Despus de presionar el botn OK, se graba el procedimiento almacenado y aparece en la lista de procedimientos de la base de datos Northwind.

2.3 Definicin del esquema de seguridad


Existen mltiples riesgos para la seguridad de la informacin durante la operacin, implantacin y tiempos muertos en el sistema. Riesgos en la implantacin Cuando se esta instalando o actualizando un sistema, los principales factores de riesgo son aquellos relacionados con el ajuste de formatos, dominios y otros parmetros que pueden verse afectados por la conversin del sistema; ya sea manual-automatizado o automatizado-automatizado.

Cuando el sistema que se implanta ha de recibir nueva informacin, es importante el establecimiento de cdigos que permitan validar la captura para minimizar los riesgos de informacin no confiable. Riesgos en la operacin Mientras el sistema se encuentra en uso, se dice que las operaciones se realizan en lnea; es decir, la informacin se afecta por medio de los procedimientos definidos en el sistema. La proteccin ms comn para reducir estos riesgos consiste en el establecimientos de claves de operacin (Password) tanto para accesar a la aplicacin como a las diversas operaciones que esta desempea. Las claves pueden asignarse: Genrico. Por niveles de seguridad. Por tipos de acceso a los datos. La seleccin de las claves de acceso debe llevarse a cabo utilizando los siguientes criterios:

No informacin que pueda asociarse al usuario. Fcil de recordar, difcil de adivinar. Debe utilizar un parmetro variable o algoritmo.

Algunos sistemas que manejan claves fijas pueden incluir controles sobre el usuario que lo obliguen a modificar su clave de acceso con cierta regularidad. Es importante que el cdigo que mantiene la tabla de claves de usuarios en el sistema se encuentre codificada o encriptada.

Riesgos en tiempos muertos

Cuando el sistema cuando el sistema no se encuentra en operacin la informacin esta expuesta a ser alterada fuera de lnea; es decir, sin utilizar los programas de aplicacin diseados para este fin.

Conceder privilegios Para que un usuario pueda hacer algo ms que consultar algunas variables del sistema deben tener algn privilegio. Lo ms simple es coceder el privilegio para seleccionar datos de una tabla concreta. Se hara as: Utilizando la sentencia GRANT para aadir privilegios a un usuario existente. mysql > GRANT SELECT ON banco.cuenta to anonimo; > Query ok

Esta sentencia concede al usuario 'anonimo' el privilegio de ejecutar sentencias SELECT sobre la tabla 'cuenta' de la base de datos 'banco'. Cdigo para realizar volcado C:/> mysqldump password -u root nombre bd>fichero.sql Donde mysqldump: comando que permite hacer la copia de seguridad de una o mltiples bases de datos. password: clave o contrasea para acceder a la base de datos. root: nombre de usuario. nombre bd: nombre de la base de datos. fichero: nombre del archivo a generar. Ejemplo mysqldump 123 -u root banco>archivo.sql Comando para recuperar el respaldo MySQL mysql> source c:/nombre bd.sql

2.3.1 Creacin de usuarios de la base de datos


Para crear un usuario de base de datos mediante SQL Server Management Studio 1. En SQL Server Management Studio, abra el explorador de objetos y expanda la carpeta de bases de datos. 2. En SQL Server Management Studio, abra el Explorador de objetos y expanda la carpeta Bases de datos. 3. Expanda la base de datos en la que se va a crear el usuario de la misma. 4. Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a continuacin, haga clic en Usuario. 5. En la pgina General, escriba un nombre para el usuario en el cuadro Nombre de usuario. 6. En el cuadro Nombre de inicio de sesin, escriba el nombre de un inicio de sesin de SQL Server para asignarlo al usuario de la base de datos. 7. Haga clic en Aceptar. Para crear un usuario de base de datos mediante Transact-SQL: 1. En el editor de consultas, conctese a la base de datos en la que se va a crear el usuario de la base de datos; para ello, ejecute el siguiente comando Transact-SQL: USE <database name> GO. 2. cree el usuario ejecutando el siguiente comando de Transact-SQL: CREATE USER <new user name> FOR LOGIN <login name>; GO

2.3.2 Asignacin de privilegios sobre los objetos de informacin


Una vez que se ha creado un objeto en la base de datos, ste puede ser administrado por su creador. Los privilegios sobre los objetos pueden ser concedidos a otros usuarios con el objeto de permitirles accederlos y manipularlos, o conceder los privilegios a otros usuarios. Los privilegios sobre los objetos suelen ser para insertar, modificar, borrar o consultar. Aunque tambin son necesarios para poder ejecutar una unidad de programa almacenada en la base de datos o referenciarlos en una clave ajena.

2.4 Definicin del esquema de recuperacin


Cuando una empresa se decide a utilizar un sistema de base de datos, se vuelve dependiente en grado sumo del funcionamiento correcto de ese sistema. En caso de que sufra dao cualquier porcin de la base de datos por causa de un error humano, digamos, o una falla en el equipo o en el sistema que lo apoya resulta esencial poder reparar los datos implicados con un mnimo de retraso y afectando lo menos posible el resto del sistema. En teora, por ejemplo la disponibilidad de los datos no daados no debera verse afectada. El DBA debe definir y poner en prctica un plan de recuperacin adecuada que incluya, por ejemplo una descarga o vaciado peridico de la base de datos en un medio de almacenamiento de respaldo, y procedimientos para cargar otra vez la base de datos a partir de vaciado ms reciente cuando sea necesario.

2.4.1 Diseo y creacin de la bitcora


El Cuaderno o bitcora de trabajo es un cuaderno en el cual estudiantes, diseadores y trabajadores de empresas en general, entre otros, desarrollan su trabajo, anotan cualquier informacin que consideren que puede resultar til para su trabajo. Esto no se aplica solamente a asuntos laborales. Ahora bien, el trmino es usado tambin para nombrar un registro escrito de las acciones que se llevaron a cabo en cierto trabajo o tarea. Esta bitcora incluye todos los sucesos que tuvieron lugar durante la realizacin de dicha tarea, las fallas que se produjeron, los cambios que se introdujeron y los costos que ocasionaron. El DBMS (Sistema Manejador de Bases de Datos) mantiene una bitcora o diario en cinta o en disco (ms comnmente), en el cual se registran los detalles de todas las operaciones de actualizacin, en particular, los valores inciales y final del objeto modificado. Por tanto, si resulta necesario anular alguna modificacin especfica, el sistema puede utilizar la entrada correspondiente de la bitcora para restaurar el valor original del objeto restaurado.

2.4.2 Recuperacin a partir de la bitcora


La Recuperabilidad significa que, si se da algn error en los datos, hay un bug de programa de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el dao se causara. Las actividades de recuperacin incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de dao prdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del rea en antelacin a un desastre anticipado. La recuperacin es una de las tareas ms importantes de los DBA's. La Recuperabilidad, frecuentemente denominada "recuperacin de desastres", tiene dos formas primarias. La primera son los respaldos y despus las pruebas de recuperacin. La recuperacin de las bases de datos consiste en informacin y estampas de tiempo junto con bitcoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitcoras, la diferencia reside en que el DBA debe sacar de lnea la base de datos en caso de llevar a cabo una recuperacin. Las pruebas de recuperacin consisten en la restauracin de los datos, despus se aplican las bitcoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de lnea sustituyendo con una copia de la base de datos. Si el DBA (o el administrador) intentan implementar un plan de recuperacin de bases de datos sin pruebas de recuperacin, no existe la certeza de que los respaldos sean del todo vlidos. En la prctica, los respaldos de la mayora de los RDBMSs son raramente vlidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores humanos o bugs que pudieran haber corrompido los respaldos.

2.4.3 Respaldar bases de datos


Es obligatorio para todo administrador de Base de Datos, sea SQL Server, Oracle, Access, MySQL, PostgreSQL, etc., realizar respaldo de la base de datos, ms aun, crear una tarea programada que automticamente realice esta tarea en un da y hora determinada. Un respaldo de la BD manual es sencillo, para SQL Server con solo seleccionar la BD botn derecho sea en espaol o en ingles Pero realmente lo correcto para realizar un respaldo de una BD es programando una tarea, que realice el respaldo automticamente pautado en un dia a una hora. Lo correcto es programar un Job al cual se le indique de lunes a viernes realizar un respaldo a las 12am por ejemplo. Si en la empresa no posee un horario corrido, puede hacerse dos respaldos al da, uno a las 12m y el otro a las 12am, de tal forma que si ocurre un problema con la BD pueda restaurarse con el respaldo ms reciente. Un Job es una tarea programa donde le indicamos a SQL Server realizar una actividad bien sea principalmente respaldo de la base de datos (una o varias BDs), copiado de un archivo en una ubicacin de la red a una tabla, etc. Esto se hace a travs del SQL Agent, en SQL Server se encuentra en el rbol de SQL Server donde se encuentran las BDs y dems funciones, la carpeta Management > SQL Agent. Para el caso de SQL Server 2005, se encuentra fuera, al final del rbol. Seleccionamos Job boton derecho New Job tanto para SQL Server 2000 como 2005 los pasos son iguales, por lo que se indican de la siguiente forma: Seccin General > Indicas el nombre de la tarea programada (la planificacin automtica), lo demas puedes dejarlo como est. Steps > boton New > nombre del Step, indicas la BD y en Command debes indicar el script que realizara el Backup de la BD. Realmente no hay que indicar la BD en la

parte de Database, ya que el script es en el que se indica cual BD y donde se realizara el respaldo de la misma. El Script para generar el Backup puede ser uno como este: BACKUP DATABASE *nombre_base_de_datos+ TO DISK = NC:\Carpeta\Backup.bak WITH FORMAT, INIT, STATS = 10 Indicas la base de datos, la ubicacin del disco, en red, un script sencillo que realizara el repaldo programado sin estar vigilante de hacer esto cada cierto tiempo, simplemente con chequear de vez en cuando que el respaldo se esta realizando es suficiente. Schedules > Aqu es donde indicaremos la programacin del Job > New Schedule, en la ventana que se abre indicamos el nombre, y en el botn Change > indicamos los das (que en este caso) seria de Lunes a Viernes, tildando todos estos das, a excepcin de Sbado y Domingo, indicamos la hora a la que deseamos que se active esta tarea, 12:00:00 a.m. Se indica como practica la hora 12am puesto que es muy seguro que a esa hora no debera haber nadie trabajando, a diferencia de horas mas tempranas donde personal de algn departamento se quede trabajando hasta algunas horas de la noche, ya que al momento de iniciarse el backup, el sistema que dependa de esta base de datos, se tornara lento y posiblemente tambin podra presentarse algn problema que cuelgue el sistema por lo que para evitar problemas al personal que se quede algo tarde y evitarnos problemas nosotros, indicamos una hora en la que el servidor no debera estar recibiendo peticiones de ninguna terminal (y que no sea un sistema administrativo que permita crear tareas programadas) o que alguien deje generando una consulta de informe excesivamente grande como para que se lleve horas de procesamiento a nivel de BD. La parte de notificaciones, no se indicara aun en estos pasos, pero queda sujeto a anexarse, ya que al momento de que se realice el respaldo de la BD y en particular, en caso de haber un problema que ocasiona que esto no se realice, el que nos mande un correo informndonos sobre ello.

Un respaldo de la BD, se realizara inicindolo muy parecido a lo indicado de crear el Backup. En SQL Server 2000 seria boton derecho en la BD a restaurar > Todas las tareas > Restore Database En SQL Server 2005 seleccionamos la BD, boton derecho > Tasks > Restore > Database En la ventana que se despliega, selecciona la opcin From device para buscar la ruta donde se encuentra el respaldo de la BD el cual es un archivo que no posea extensin o sea .bak. Tambin en la ventana indicar Database complete al menos en el caso en que el respaldo se haya hecho as, la base de datos completa, con todas sus transacciones, log, etc., pulsamos el botn Aceptar y debera iniciarse al Restore, el cual depender su demora (igual como lo fue con el Backup) del tamao de la BD.

2.4.4 Recuperar bases de datos


El modo de recuperacin de la base de datos es muy importante para entender de donde surge nuestro problema. Dependiendo de cmo hemos creado la base de datos hay varios modos de recuperacin de la base de datos en el SQL Server. Tenemos el modo completo, el de registro masivo y el sencillo. Si al crear la base de datos no especificamos nada el modo de recuperacin elegido es el completo. Para saber el modo en que lo tenemos configurado podemos mirar en el Administrador Corporativo en las propiedades de la base de datos, en la solapa Opciones. Ah podemos ver cual es el modo de recuperacin de la base de datos. Tambin podemos averiguar el modelo de recuperacin ejecutando el comando sp_helpdb NombreBaseDatos en el analizador de consultas. Si lo hacemos as en el panel de resultados hay una columna status donde se detalla, entre otra cosas, el modelo de recuperacin (Recovery = FULL). Tener modo de recuperacin completa significa que se puede recuperar la base de datos hasta el momento en el que se produzca un error o hasta un momento determinado del tiempo. Es el modo habitual en una base de datos de produccin. En este modo de recuperacin cada transaccin que se produzca en la base de datos (insercin, modificacin, borrado) queda registrada en el archivo de transacciones (el .log) de tal manera que se puede reconstruir todo lo ocurrido con la base de datos a lo largo del tiempo. Pero usar este modo implica que el fichero de transacciones crecer indefinidamente, llegando incluso a ser ms grande que la propia base de datos. La solucin a este crecimiento es sencilla: hacer copias de seguridad. Cuando hacemos una copia de seguridad del registro de transacciones los datos que pasan a la copia de seguridad se borran del disco dejando espacio libre. As con cada copia eliminaremos del disco la parte del archivo de log que ya no es necesaria dejando espacio libre para registrar las nuevas transacciones que se produzcan en nuestra base de datos.

Lo malo es que cuando esto ocurre se libera espacio dentro del archivo de log, pero no quiere decir que se reduzca el tamao en disco de este fichero. En este caso tendremos que reducir el tamao del archivo de log en una segunda fase.

2.5 Diseo y procesamiento de transacciones


El objetivo del diseo de las transacciones es definir y documentar las caractersticas de alto nivel de las transacciones que requiere el sistema. Esta tarea se debe llevar a cabo al principio del proceso de diseo para garantizar que el esquema lgico es capaz de soportar todas las transacciones necesarias. Las caractersticas que se deben recoger de cada transaccin son las siguientes: Datos que utiliza la transaccin. Caractersticas funcionales de la transaccin. Salida de la transaccin. Importancia para los usuarios. Frecuencia de utilizacin. Un sistema de procesamiento de transacciones (TPS por sus siglas en ingls) es un tipo de sistema de informacin. Un TPS recolecta, almacena, modifica y recupera toda la informacin generada por las transacciones producidas en una organizacin. Una transaccin es un evento que genera o modifica los datos que se encuentran eventualmente almacenados en un sistema de informacin. Desde un punto de vista tcnico, un TPS monitoriza los programas transaccionales (un tipo especial de programas). La base de un programa transaccional est en que gestiona los datos de forma que estos deben ser siempre consistentes (por ejemplo, si se realiza un pago con una tarjeta electrnica, la cantidad de dinero de la cuenta sobre la que realiza el cargo debe disminuir en la misma cantidad que la cuenta que recibe el pago, de no ser as, ninguna de las dos cuentas se modificar), si durante el transcurso de una transaccin ocurriese algn error, el TPS debe poder deshacer las operaciones realizadas hasta ese instante.

2.5.1 Definicin de transacciones en un lenguaje husped


El lenguaje SQL puede actuar como si fuera un lenguaje husped, es decir, que puede interactuar dentro de un lenguaje distinto como puede ser el cobol, el visual Basic, el C++, etc. Una transaccin es un conjunto de operaciones Transact SQL que se ejecutan como un nico bloque, es decir, si falla una operacin Transact SQL fallan todas. Si una transaccin tiene xito, todas las modificaciones de los datos realizadas durante la transaccin se confirman y se convierten en una parte permanente de la base de datos. Si una transaccin encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. SQL Server funciona por defecto con Transacciones de confirmacin automtica, es decir, cada instruccin individual es una transaccin y se confirma automticamente.

2.5.2 Ejecucin de transacciones planas en el gestor de bases de datos


Transacciones planas Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservacin .... END.

2.5.3 Ejecucin de transacciones anidadas


Consiste en tener transacciones que dependen de otras, estas transacciones estn incluidas dentro de otras de un nivel superior y se las conoce como subtransacciones. La transaccin de nivel superior puede producir hijos (subtransacciones) que hagan ms fcil la programacin del sistema y mejoras del desempeo. Existen restricciones obvias en una transaccin anidada: debe empezar despus que su padre y debe terminar antes que l. Ms an, el commit de una subtransaccin es condicional al commit de su padre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas tambin sern abortadas. Las transacciones anidadas proporcionan un nivel ms alto de concurrencia entre transacciones. Ya que una transaccin consiste de varias transacciones, es posible tener ms concurrencia dentro de una sola transaccin. As tambin, es posible recuperarse de fallas de manera independiente de cada subtransaccin. Esto limita el dao a un parte ms pequea de la transaccin, haciendo que costo de la recuperacin sea menor. La programacin con uso transacciones requiere de instrucciones especiales, las cuales deben ser proporcionadas por el sistema operativo, por el compilador del lenguaje o por el manejador de la base de datos. Algunos ejemplos son: Begin_Transaction End_Transaction Abort_Transaction Read Write

Você também pode gostar