1 2
3 4
5 6
7 8
9 10
11 12
Taller de Instalacin de
SQL-Server - Finalizacin
13 14
Conectarse al Servidor
SQL-SERVER
Tipo de Servidor
Nombre del Servidor (IP)
Autenticacin
SQL Server Management
Studio
Explorador de Objetos
Bases de Datos
Seguridad
Objetos de Servidor
Replica
Administracin
Servicios de Notificacin
Ficha Resumen
OLTP .- Procesamiento de
Transacciones En Lnea
Ejemplo: Las operaciones en el cajero
automtico de un banco son operaciones del
tipo OLTP, para cada solicitud: consulta de
saldo, retiro de efectivo, etc. el sistema
responde inmediatamente.
El procesamiento de los pagos de la nmina de
una empresa no es OLTP, por que el resultado
de este proceso no se obtiene de forma
inmediata para cada empleado si no por el
contrario, la respuesta a este procesamiento es
el conjunto completo de todos los clculos para
el pago de la nomina.
Bases de SQLServer
Bases de Datos del Sistema y
de Usuario
De Sistema:
Master.- Registra toda la informacin del
sistema para una instancia de SQL Server.
Model.- Se utiliza como plantilla para todas las
bases de datos creadas.
Msdb.- La utiliza el Agente SQL Server para
programar alertas y trabajos.
Tempdb.- Contiene objetos temporales o
conjuntos de resultados intermedios.
Resource.- Solo Lectura, Aparece de forma lgica en el esquema.
mssqlsystemresource.mdf
De Usuario:
Northwind, AdventureWorks, Cualquier Base
creada por el DBA.
Archivos de la Base de Datos
Principal.- El archivo de datos principal
(.MDF)
Secundario.- Los archivos de datos
secundarios son opcionales (.NDF)
Registro de Transacciones.- contienen la
informacin de registro que se utiliza para
recuperar la base de datos. (.LDF)
Creacin de una Base de Datos
Nombre Lgico.
Tamao Fsico Inicial.
Crecimiento de Archivos.
Archivos de la Base (Ruta de acceso).
Opciones - Nivel de Compatibilidad
CREATE DATABASE
CREATE DATABASE NOMBREBASE
[ON { [PRIMARY]
[, FILEGROUP NombreGrupo]
(NAME = ArchivoLogico,
FILENAME = ArchivoFisico
[, SIZE=Tamao]
[, MAXSIZE={TamaoMax | UNLIMITED}]
[, FILEGROWTH=IncrementoCrecimiento]
)} [,..n] ]
[LOG ON
{ ( NAME=ArchivoLogico
FILENAME=ArchivoFisico
[, SIZE=Tamao]
[, MAXSIZE={TamaoMax | UNLIMITED}]
[, FILEGROWTH=IncrementoCrecimiento]
)} [,..n] ]
[COLLATE NombreIntercalacin]
Ejemplo CREATE DATABASE
CREATE DATABASE
AdventureWorks_Snapshot1 ON
(NAME=AdventureWorksData,
FILENAME=AW.ss
) AS SNAPSHOT OF AdventureWorks
Go
Probar con una consulta a la base original y a la instantnea; luego
actualice a la original y compruebe los datos consultndolos.
Copias de Seguridad y
Restauracin
El componente de copias de seguridad y
restauracin de SQL Server ofrece una
proteccin muy importante para los datos
crticos almacenados en las bases de
datos.
Casos Comunes:
Errores de medios.
Errores de usuario, por ejemplo, quitar una
tabla por error.
Errores de hardware, por ejemplo, una unidad
de disco daada o la prdida permanente de
un servidor.
Desastres naturales.
mbito Copias de seguridad
de datos
El mbito de una copia de seguridad de datos
puede ser la base de datos completa, parcial o un
conjunto de archivos o grupos de archivos.
Una copia de seguridad completa incluye todos
los datos de una base de datos determinada o un
conjunto de grupos de archivos o archivos.
Una copia de seguridad diferencial se basa en la
ltima copia de seguridad completa de los datos.
Una copia de seguridad diferencial incluye slo los
datos que han cambiado desde la ltima base
diferencial.
Realizar una copia de seguridad y luego restaurarla en el
mismo servidor. (Borre la base original)
Automatizacin backup Planes de
Mantenimiento
Crean un flujo de trabajo de las tareas necesarias
para asegurarse de que la base de datos est
optimizada, se realizan copias de seguridad con
regularidad y no tiene incoherencias.
Crear sus propias secuencias de comandos
Transact-SQL personalizadas.
Agente SQL Server del Explorador de objetos
slo aparece para los miembros de la funcin fija
de servidor sysadmin, este debe estar en
ejecucin.
Crear un Plan de Mantenimiento para realizar peridicamente una copia
de seguridad de la base datos AdventureWorks
Seguridad Inicios de Sesin
Un inicio de sesin define el contexto de
seguridad en cada proceso que ejecuta.
Los usuarios de Windows necesitan un
inicio de sesin de SQL Server para
conectarse.
2 tipos (Modo Mixto)
Autentificacin de Windows
Autenticacin de Sql Server
Funciones del Servidor
Asignacin de Usuarios
Funcin Sobre la base de datos
Usuario de la Base de Datos
Esquemas Utilizado
Miembros de Funcin
Elementos que podemos Proteger
Tablas, Vistas y Procedimientos
Almacenados
Permisos: Conceder, Denegar, WITH
GRANT.
Hacer una Prueba con ODBC.
Explicar la Cadena de Conexin de una
Aplicacin.
Seguridad de una Base de
Datos
La informacin es uno de los activos ms importantes de
las entidades.
Hace unos aos era ms fcil, con arquitecturas
centralizadas y terminales no inteligentes
Hoy en da los entornos son realmente complejos, con
diversidad de plataformas y proliferacin de redes.
La disponibilidad: se cumple si las personas autorizadas
pueden acceder a tiempo a la informacin.
En administracin de seguridad pueden existir
coordinadores en las diferentes reas funcionales.
Los hacker, que intenta acceder a los sistemas ms
para demostrar de que es capaz de superar las barreras
de proteccin.
http://geeks.ms/blogs/ozonicco/pages/principios-utilizados-en-la-seguridad-de-base-de-datos-y-de-
redes.aspx
Objetos de la Base
Diagramas
Tablas (Sistema y Usuario)
Vistas (Sistema y Usuario)
Sinnimos
Programacin
Procedimientos
Funciones
Desencadenadores
Tipos
Reglas
Valores Predeterminados
Seguridad
Usuario / Funciones y Esquema
Tipos de Datos
Limitar el almacenamiento en una columna;
rangos de valores.
Correcta seleccin del tipo dato sea carcter,
enteros, binarios, fechas etc.
Objetos que tienen tipos de datos
Columnas en Tablas y Vistas
Parmetros en Procedimientos Almacenados
Variables
Los Cuatro atributos de un Objeto
La clase o tipo de datos
Longitud o su tamao
Precisin (Solo numricos) smallint, 5 dgitos,
precisin de 5.
Escala (Solo numricos) Nmeros de dgitos de la
parte decimal. Int =Escala 0; Money=Escala max 4.
Tipos de Datos - 7 Categoras
Numero Exacto Fecha y Tiempo
Bigint DateTime
Int
Smallint
Carcter
Decimal(p,s) Char() Tamao Fijo
Numeric(p,s) Varchar() Tamao Variable
Bit Text (2GB)
Numero Aproximado Binario
Float Binary(n)
Real Image
Monetario Propsito General
Money Timestamp
Smallmoney
XML
Tipos de Datos Definidos por Usuario
Crear nuestros propios tipos de datos
Tipo de datos personalizado.
Para una base de datos concreta.
Nombre nico.
CASE <expresin>
WHEN <valorExpresin> THEN <valordevuelto>
WHEN <valorExpresin> THEN <valordevuelto>
ELSE <elseValorDevuelto> -- Valor por defecto
END
Realizar Taller.
Estructura de control WHILE
El bucle While se repita mientras expresin se
evale como verdadero.
Es el nico tipo de bucle que dispone TSQL.
Sintaxis:
WHILE Expresin_Booleana
{ sentencias SQL o bloque Sentencias}
[BREAK]
{ sentencias SQL o bloque Sentencias}
[CONTINUE]
{ sentencias SQL o bloque Sentencias}
Realizar Taller.
Estructura GOTO
La sentencia GOTO nos permite desviar el
flujo de ejecucin hacia una etiqueta
definida NomEtiqueta:.
Se usaba bastante con la variable de
sistema @@ERROR para el control de
errores.
Actualmente se desaconseja su uso, y se
recomienda TRY-CATCH para la gestin
de errores.
Hacer ejemplo.
Control de Errores try catch
Si se produce un error en el bloque TRY,
el control se transfiere a un bloque
CATCH.
BEGIN TRY
{ sentencias SQL o bloque Sentencias}
END TRY
BEGIN CATCH
{ sentencias SQL o bloque Sentencias}
END CATCH
Hacer ejemplo.
Funciones especiales de Error
ERROR_NUMBER().- Numero del Error.
ERROR_SEVERITY().- Severidad del error.
ERROR_STATE().- estado del error
ERROR_PROCEDURE().- Nombre del
procedimiento almacenado que ha provocado el
error.
ERROR_LINE().- Lnea que se ha producido el
error.
ERROR_MESSAGE().- Mensaje del error.
Ver ejemplo
Generar un error con RAISERROR
Ejemplo:
SELECT tab.salesorderid, tab.cutomerid FROM
(SELECT salesorderid,customerid
FROM salesorderheader) as TAB
Vistas
Una vista es como una tabla virtual que almacena una
consulta (SELECT).
Almacena una consulta como un objeto para utilizarse
posteriormente.
Las tablas consultadas en una vista se llaman tablas
base.
Las vistas permiten:
Ocultar informacin: permitiendo el acceso a algunos datos y
manteniendo oculto el resto.
El usuario opera con los datos de una vista como si se tratara de
una tabla.
CREATE VIEW <NombreVista>
AS
<sentencia SQL SELECT>
Subconsultas con Expresiones
Utilizar en expresiones de calculo.
La subconsulta debe producir un valor escalar o
una lista de valores de una sola columna.
Una lista de valores sustituye a una expresin
en una clusula WHERE que contiene la
palabra clave IN.
Ejemplo:
SELECT Name, LisPrice,
(SELECT AVG(ListPrice) FROM Product) as
Promedio ,
ListPrice - (SELECT AVG(ListPrice) FROM
Product) as Diferencia
FROM Product WHERE ProducLine=T
Subconsulta Correlacionada
Usada en una expresin dinmica que
cambia en cada fila de una consulta
externa.
Esta dividen consultas complejas en dos o
mas consultas simples relacionadas.
Ejemplo:
SELECT SalesOrderID, CustomerID
FROM SalesOrderHeader as or1
WHERE 3 < (SELECT OrderQty FROM
SalesOrderdetail as od WHERE
or1.SalesOrderID=od.SalesOrderID and
od.Product=770)
Operadores EXISTS y NOT EXISTS