Professional Documents
Culture Documents
SQL SERVER
Introduccin
Caractersticas principales
Seguridad
Optimizacin
Replicacin
Pros y contras
Comparativa:
Oracle 9i vs. SQL Server 2000
Opiniones de usuarios
Conclusiones
2
1.Introduccin
SQL Server es un sistema administrador para
bases de datos relacionales basadas en la
arquitectura Cliente/Servidor (RDMS).
Las instrucciones se efectan en un lenguaje
SQL: Transact SQL
Introduccin (2)
SQL Server administra bases de datos y
distribuye los recursos disponibles del servidor
(tales como memoria, operaciones de disco,
etc.) entre las mltiples peticiones.
Con Transact SQL se puede tener acceso a
la informacin, realizar bsquedas, actualizar y
administrar sistemas de bases de datos
relacionales.
2.Caractersticas principales
Seguridad:
SQL Server incorpora un modelo de seguridad
que separa a los usuarios de los objetos,
proporciona un acceso muy granular y un mejor
control de los accesos a los datos. Adems,
todas las tablas del sistema se implementan
como Vistas, lo que redunda en un mayor
control sobre los objetos de sistema de la Base
de Datos.
10
13
Server 7.0
1,048,516 TB
32,767
32 TB
4 TB
2,147,483,647
1024
14
3.Seguridad
Ha incorporado mejoras significativas en el
modelo de seguridad. Esta es la iniciativa
Trustworthy Computing.
Tiene como objetivo:
-Reducir los problemas potenciales desde el
diseo y de pruebas.
-Reducir el rea expuesta a ataques
desactivando funciones que puedan no ser
necesarias.
15
Seguridad(1).Actuaciones
Restriccin del acceso al servidor por parte de
los usuarios:
Control de acceso y permite a los
administradores gestionarlo mediante politicas.
Desactivacin de servicios restringiendo la
configuracin de los mismos:
Los administradores pueden restringir los
accesos a los recursos.
Cifrado de datos dentro de la propia base de
datos
Poltica de contraseas
16
Seguridad (2)
Valida a los usuarios con 2 niveles de seguridad:
Autentificacin del login y validacin de permisos en la
Base de Datos de cuentas de usuarios y de roles.
La autentificacin identifica al usuario que est usando
una cuenta y verifica la habilidad de conectarse con SQL
Server.
El usuario debe tener permiso para acceder a las Bases
de Datos en el Servidor. Esto se cumple para asignar
permisos especficos para la Base de Datos, para las
cuentas de usuario y los roles. Los permisos controlan
las actividades que el usuario tiene permitido realizar en
la Base de Datos del SQL Server.
17
Seguridad (3)
AUTENTIFICACIN DEL LOGIN:
Un usuario debe tener una cuenta para conectarse al
SQL Server. Este reconoce dos mecanismos de
autentificacin: Autentificacin de SQL Server y de
Windows NT. Cada uno tiene un tipo de cuenta
diferente.
AUTENTIFICACIN DE SQL SERVER:
Cuando se usa, un administrador del Sistema de SQL
Server, define una cuenta y un password WQL Server.
Los usuarios deben suministrar tanto el login como el
password cuando se conectan al SQL Server.
18
Seguridad (4)
Cuando SQL Server est en Windows NT, un sistema
administrador puede especificar que est corriendo en
uno de 2 modos de autentificacin:
-Modo de autentificacin de Windows NT: Slo est
autorizada la autentificacin de Windows NT. Los
usuarios no pueden usar cuentas de SQL Server.
-Modo mixto: Cuando se usa este modo de
autentificacin, los usuarios se pueden conectar a SQL
Server con la autentificacin de Windows NT o con la de
SQL Server.
CUENTAS DE USUARIO Y ROLES EN UNA BASE DE
DATOS:
Despus de que los usuarios han sido autentificados, y
se les ha permitido conectarse al SQL Server, deben
tener cuentas en la Base de Datos. Las cuentas de
usuario y los roles, identifican permisos para ejecutar
tareas.
19
Seguridad (5)
ROLES:
Permiten reunir a los usuarios en una sola unidad a la cual se le
pueden aplicar permisos. SQL Server contiene roles de servidor y de
Base de Datos predefinidos, para tareas administrativas comunes, de
manera que pueden asignrsele determinados permisos
administrativos a un usuario en particular. Tambin se pueden crear
roles de Base de Datos definidos por el usuario. En SQL Server, los
usuarios pueden pertenecer a varios roles:
Roles fijos del Servidor: Proveen agrupamientos con privilegios
administrativos a nivel del Servidor. Son administrados
independientemente de las Bases de Datos de usuarios a nivel
servidor.
Roles fijos de la Base de Datos : Proveen agrupamientos con
privilegios administrativos a nivel de Base de Datos.
Roles de usuarios definidos en la Base de Datos: Tambin se pueden
crear roles para Base de Datos, para representar un trabajo
desarrollado por un grupo de empleados dentro de una organizacin .
No es necesario asignar y quitar permisos a cada persona. En
funcin de que cambia un rol, se pueden cambiar fcilmente los
permisos del rol y hacer que los cambios se apliquen
automticamente a todos los miembros del rol.
20
Seguridad (6)
VALIDACIN DE PERMISOS:
Dentro de cada Base de Datos, se asignan permisos a las cuentas
de usuarios y a los roles para permitir o limitar ciertas acciones .
SQL Server acepta comandos despus de que un usuario ha
accedido a la Base de datos.
SQL Server realiza los siguientes pasos cuando valida permisos:
-Cuando el usuario realiza una accin, tal como ejecutar un
comando de Transact-SQL o elegir una opcin de un men, los
comandos de Transact SQL son enviadas al SQL Server.
-Cuando SQL Server recibe un comando de Transact SQL, testea
que el usuario tenga permiso de ejecutar dicha instruccin .
21
4.Optimizacin
Para optimizar SQL Server es necesario ajustar
la configuracin, opciones, y valores de setup
basadas en las observaciones de las
caractersticas de trabajo del servidor.
Estas observaciones se hacen durante el
periodo de trabajo mas critico del servidor para
perfeccionar las cargas de trabajo ms pesadas.
22
Optimizacin (2)
Memoria:
La memoria de SQL Server esta dividida en dos
espacios, el cache de procedimientos, y el
cache de datos. El Servidor SQL distribuye
eficazmente la memoria entre los dos caches
usando los parmetros de configuracin del
cache de procedimiento. La distribucin de la
memoria restante entre procedimientos y datos,
se encarga de mantener los objetos mas usados
en sus respectivos caches de memoria.
23
Optimizacin (3)
La mejor manera de determinar cmo es usada
la memoria por el Servidor de SQL es ejecutar
DBCC MEMUSAGE.
Esta sentencia indica la cantidad de memoria
asignada al Servidor de SQL en el comienzo, los
12 objetos ms grandes en el cache de
procedimientos, y los 20 ms grandes en el
cache de datos.
24
Optimizacin (4)
Optimizando el Cache de Datos :
El cache de datos est compuesto de la memoria
sobrante del Servidor de SQL una vez que los requisitos
del cache de procedimiento han sido satisfechos. Lo
mejor es tener bastante espacio del cache para
contener la mayora los ndices usados y un porcentaje
respetable de las tablas mas accedidas
frecuentemente, reduciendo las entradas/salidas fsicas.
Se puede usar la sentencia DBCC MEMUSAGE para
ver los 20 objetos ms grandes del cache de datos y
asi determinar un tamao considerable para el cache de
datos basado en los tamaos de estos objetos.
25
Optimizacin (5)
El tamao de las tablas e ndices accedidas
mas frecuentemente tambin puede cambiarse
aplicando las frmulas del tamao cedidas por
Appendix A of Microsoft SQL Server
Administrator's Companion.
Habiendo calculado estos tamaos, se puede
elegir asignar bastante memoria al Servidor de
SQL y contener la ntegramente los objetos de
las bases de datos en el cache.
26
Optimizacin (6)
Optimizando el Cache de Procedimientos.
Primero se determina el tamao ptimo para contener los
procedimientos almacenados ms activos . Se busca prevenir
las lecturas a procedimientos almacenados en disco porque
esto es muy costoso.
Si el cache de procedimiento es bastante grande , los
procedimientos no se descargaran del cache por los nuevos
procedimientos cargados en el. ( El Servidor de SQL
guardar una copia duplicada de cada procedimiento que se
accede por ms de un usuario.) por defecto, el Servidor de
SQL distribuye 30 por ciento de memoria disponible al cache
de procedimientos despus que el kernel de SQL se ha
asignado.
27
Optimizacin (7)
Se puede determinar si el cache de
procedimientos es bastante grande ejecutando
los procedimientos almacenados mas
frecuentemente usados y ejecutando la
sentencia DBCC MEMUSAGE.
Esto mostrara los 12 procedimientos
almacenados ms grandes en el cache de
procedimientos. Despus de haber ejecutado
todos los procedimientos que son llamados con
mas frecuencia y haber obtenido sus tamaos,
se suman stos valores y se obtiene el tamao
total necesario del cache para todos los
procedimientos.
28
Optimizacin (8)
29
Replicacin
Generalidades sobre
la Replicacin
Facilidad de Uso
Escalabilidad
Actualizacin
Mult-sitio
Replicacin
Heterognea
30
Replicacin(2)
Replicacin Fusionada
Resolucin de Conflictos de
Fusin
Actualizacin
Soporte Internet
31
Administracin MultiSitio
Administracin de
Alerta/Evento
Programacin y
Ejecucin de
Trabajos
32
Herramientas de Perfiles y
de Sintonizacin DBA
Seguridad
Asistentes de
Administracin
33
Consultas Paralelas
Consultas Distribuidas
Estrategias de
Utilizacin de
Indices
34
6.Pros (1)
Los Servicios de Transformacin de Datos
(DTS).
Los Servicios OLAP del Servidor SQL de
Microsoft
Con la inclusin de los Servicios OLAP como
parte del Servidor SQL, Microsoft ha abierto el
mercado del data warehousing, data mart, y el
soporte a tomas de decisin a muchas empresas
pequeas o medianas que no habran pensado
en usar este tipo de herramienta dados sus
elevados costes.
35
Pros (2)
Asignacin Dinmica de Recursos. La asignacin
dinmica de recursos del SQL Server es una
caracterstica muy til. La asignacin dinmica de
recursos permite la escalabilidad del uso del disco y
memoria para acomodarse a las necesidades de la base
de datos en cada momento. Esta flexibilidad permite un
mejor rendimiento y simplifica la administracin del
software.
La posibilidad de mirar los contenidos de una tabla
directamente desde el EM.
Otra funcin muy til es la posibilidad de cambiar
directamente los tipos de datos de las tablas existentes.
36
Contras (1)
La instalacin y operacin requiere del Internet Explorer
(IE) 4.0. Le guste o no, la interfaz del navegador de Web
sigue siendo cada vez ms habitual, y su uso es lo
ltimo en desarrollo de interfaces. Podemos entender
por qu Microsoft quiere usarlo con el Servidor SQL, ya
que tambin es un producto de la compaa. Sin
embargo, no hay ninguna utilidad para un navegador de
Web en el servidor de la base de datos, y su instalacin
es un problema que posiblemente, a ms de uno le
gustara evitar.
La migracin requiere un reinicio de la base de datos. El
reinicio de todos los datos en una base de datos es un
trabajo serio que invita a la potencial prdida de datos.
37
Contras (2)
Ausencia de integridad referencial declarativa
en cascada (DRI).
La ausencia de una integridad referencial en
cascada podra ser la desventaja ms grande
del Servidor SQL en comparacin con las otras
bases de datos dentro del mercado NT.
Incluso Access ofrece soporte de este estilo.
Se pueden utilizar triggers para compensar esta
desventaja, aunque en otras bases de datos
esta tcnica no es necesaria, as que no es
lgico que deba utilizar para trabajar con SQL
Server 7.0.
38
$15,000
$5,000
$30,000
$10,000
$60,000
$20,000
$120,000
$39,992
16
$240,000
$79,984
32
$480,000
$159,968
39
Edicin Standard
SQL Server
SMP para 4 CPUs, 2GB
de RAM
Replicacin
Funcionabilidad para
comercio, data
warehousing, linea de
trabajo
Servicios de
Transformacion de Datos
(DTS)
Busqueda de texto
completo
Oracle
Minimo 5 usuarios por
procesador
Replicacin
Java, XML, Globalization
Soporte
Manejo de estadisticas
Funciones Analiticas
Salidas a otros sistemas /
aplicaciones
Texto de Oracle
40
Edicin Enpresarial
CPUs
Oracle9i
Edicion
Empresarial
Oracle9i Edicion
Empresarial con
OLAP o Data
Mining
Oracle9i Edicion
Empresarial con
OLAP y Data
Mining
SQL Server
2000 Edicion
Empresarial
$40,000
$60,000
$80,000
$20,000
$80,000
$120,000
$160,000
$40,000
$160,000
$240,000
$320,000
$80,000
$320,000
$480,000
$640,000
$159,992
16
$640,000
$960,000
$1,280,000
$319,984
32
$1,280,000
$1,920,000
$2,560,000
$639,968
41
Edicin Empresarial
SQL Server
32-bit: 32 CPUs y 64 GB
RAM
64-bit: 64 CPUs y 512 GB
RAM
Vistas Particionadas y
distribuidas.
Fail over Clustering
Vistas Indexadas
Multi-lenguage
OLAP
Direct SAN soporte
Oracle
Minimo 25 usuarios
Seguridad para los datos
Aplicacion Transparente
para los fallos.
Base deDatos Virtual
Privada
Particiona
Aplicacion Real de
Clusters
Paquete de diagnostico
OLAP
Data Mining
42
Plataformas de Oracle
Sistema Operativo
UNIX - IBMs AIX, HPUX, Sun Solaris
LINUX
Windows NT 4.0,
service pack 5
Windows 2000,
service pack 1
Windows 2003
Windows XP
43
Plataformas de Oracle
Hardware - IBM, HP, Sun,
+ Intel
Pentium 166 MHz o
mayor
128 MB RAM - 256
MB a mejor
Disco duro :
140 MB
4.5 GB Home (FAT)
o 2.8 GB Home (NTFS)
64 MB RAM - 128 MB
a mejor
Disco duro :
95-270 MB (250 usual)
50 MB min Analysis <
Serv
80 MB English Query
44
PL/SQL
Indices
Arboles ,
Bitmapas ,
Particionados ,
De funciones,
De dominio
Tablas
Tablas Relacionales,
Tablas Temporales,
Tablas de objetos
Triggers
BEFORE triggers,
AFTER triggers,
INSTEAD OF triggers
Procedures
PL/SQL ,
metodos en Java,
lenguaje de 3.ra generacion
(3GL) rutinas
Arrays
Los tolera
T-SQL
Arboles
Tablas Relacionales,
Tablas Temporales
AFTER triggers,
INSTEAD OF triggers
T-SQL
No los tolera
45
Limites
Caracteristicas
Oracle 9i
128
128
30
128
30
128
30
128
30
128
30
Tamao de indice
900
749
16
32
8000
2000
8000
4000
1024
1000
8036
255000
16777216
16777216
subqueries recursivas
40
64
16777207
4000
8000
4000
46
En resumen
SQL Server 2000 ventajas:
SQL Server 2000 es mas barato que Oracle 9i
Database.
Da buenos resultados calidad/precio.
Es ms facil de instalar y manejar.
Oracle 9i ventajas:
Oracle 9i se puede instalar en cualquier plataforma,
no solo en plataformas Windows.
PL/SQL es un lenguaje ms poderoso que T-SQL.
47
8.Opiniones de usuarios
Positivas:
- Buen rendimiento
-Compatibilidad
-Rapido
-Eficiente
-Sencillo
-Precio
-Seguro
-Facil instalacin
Negativas:
-Tiempo de respuesta
largo
-Difcil manejabilidad
de la consola
-Poco eficaz por el
SQL limitado
-Poco seguro
-BD relativamente
pequeas
48
9.Conclusiones
SQL Server se posiciona como sistema de servidor de
datos de medio nivel, para sistemas de gestion
intra/extranet, con volumenes no excesivos.
Su relacion potencia/calidad/precio, lo hacen inmejorable
como backend de publicaciones web de cierto tamao,
aplicaciones internet u offline, y la mayoria de
aplicaciones de media escala.
Si necesitamos mayores exigencias, y entra en juego
factores como transaccionalidad , replicaciones,
volumenes masivos de datos.. seria mejor Oracle.
49
Bibliografia
SQL Server Programacin y administracin de Alfons Gonzalez
Analysis
Analysis Services basada en msdn library de David Iseminger
www.microsoft.com/sql/
http://
www.ilustrados.
.ilustrados.com
com/publicaciones/
/publicaciones/EpyVyVAVyFpAIxrDBr
EpyVyVAVyFpAIxrDBr .php
http://www
SQL Server 2000 vs. Oracle9i
http://www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htm
http://
www..dbasupport.
SQLServer _compare. shtml
http://www
dbasupport.com/
com/oracle/ora9i/
oracle/ora9i/SQLServer
www.mundotutoriales.com
http://
download..microsoft.
http://download
microsoft.com/
com/download
/c/3/0/c3061a67-2bf7-472c-92a5-1a71acae691a/Seguridad_SQL_Server. pdf
www.
www.programatium.
programatium.com
http://www.oreilly
.com/catalog
catalog//wintrnssql/chapter/ch01.html
http://www.oreilly.com/
wintrnssql/chapter/ch01.html
http://
www..sqlteam.
http://www
sqlteam.com/
com/item.
item.asp?
asp?ItemID=1650
ItemID=1650
50