1 sql server arantza garcia arrastia abd curso 2004/2005

50
1 SQL SERVER SQL SERVER Arantza Garcia Arrastia Arantza Garcia Arrastia ABD ABD Curso 2004/2005 Curso 2004/2005

Upload: ria-arjona

Post on 03-Mar-2015

15 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

11

SQL SERVERSQL SERVER

Arantza Garcia ArrastiaArantza Garcia Arrastia

ABD ABD

Curso 2004/2005Curso 2004/2005

Page 2: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

22

SQL SERVERSQL SERVER

IntroducciónIntroducciónCaracterísticas principalesCaracterísticas principalesSeguridadSeguridadOptimizaciónOptimizaciónReplicaciónReplicaciónPros y contrasPros y contrasComparativa:Comparativa:

Oracle 9i vs. SQL Server 2000Oracle 9i vs. SQL Server 2000Opiniones de usuariosOpiniones de usuariosConclusionesConclusiones

Page 3: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

33

1.Introducción1.Introducción

SQL Server es un sistema administrador para SQL Server es un sistema administrador para bases de datos relacionales basadas en la bases de datos relacionales basadas en la arquitectura Cliente/Servidor (RDMS).arquitectura Cliente/Servidor (RDMS).

Las instrucciones se efectúan en un lenguaje Las instrucciones se efectúan en un lenguaje SQL: Transact SQLSQL: Transact SQL

Page 4: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

44

SQL Server SQL Server administra administra bases de datos bases de datos y y distribuye los recursos disponibles del servidordistribuye los recursos disponibles del servidor (tales como memoria, operaciones de disco, (tales como memoria, operaciones de disco, etc.) entre las múltiples peticiones. etc.) entre las múltiples peticiones.

Con Transact – SQL se puede tener acceso a Con Transact – SQL se puede tener acceso a la información, realizar búsquedas, actualizar y la información, realizar búsquedas, actualizar y administrar sistemas de bases de datos administrar sistemas de bases de datos relacionales.relacionales.

Introducción (2)Introducción (2)

Page 5: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

55

Ventajas para escoger SQL Server (1)Ventajas para escoger SQL Server (1)

Microsoft SQL Server es el servidor relacional de mayor Microsoft SQL Server es el servidor relacional de mayor rendimiento para redes de PC-s. (según ?)rendimiento para redes de PC-s. (según ?)

Es el servidor de menor coste por transacción bajo el Es el servidor de menor coste por transacción bajo el sistema operativo Windows NT. (no del todo?)sistema operativo Windows NT. (no del todo?)

Tiene la mejor integración posible con el sistema Tiene la mejor integración posible con el sistema operativo:operativo:

--Permite ampliar las capacidades del servidor Permite ampliar las capacidades del servidor relacional con librerías de enlace dinámico (DDL)relacional con librerías de enlace dinámico (DDL) , , pudiendo crear instrucciones y procedimientos pudiendo crear instrucciones y procedimientos almacenados a medida del usuario.almacenados a medida del usuario.

Page 6: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

66

Ventajas para escoger SQL Server (2)Ventajas para escoger SQL Server (2)

--Permite crear aplicaciones de administración de Permite crear aplicaciones de administración de si mismo mediante una interfaz OLE conocida si mismo mediante una interfaz OLE conocida como SQL-DMO. (=> .NET)como SQL-DMO. (=> .NET)

--Se comunica con las aplicaciones de gestión a Se comunica con las aplicaciones de gestión a través de drivers ODBCtravés de drivers ODBC para 16, 32, 64 bits. para 16, 32, 64 bits.

--Dispone de una librería propiaDispone de una librería propia para las para las aplicaciones cliente/servidor que requieran aplicaciones cliente/servidor que requieran mayor rapidez incluso que ODBC, conocida mayor rapidez incluso que ODBC, conocida como dbLibrary.como dbLibrary.

Page 7: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

77

2.Características principales2.Características principales

Seguridad:Seguridad: SQL Server incorpora un modelo de seguridad SQL Server incorpora un modelo de seguridad

que que separa a los usuarios de los objetossepara a los usuarios de los objetos, , proporciona un acceso muy granular y un mejor proporciona un acceso muy granular y un mejor control de los accesos a los datoscontrol de los accesos a los datos. Además, . Además, todas las tablas del sistema se implementan todas las tablas del sistema se implementan como Vistas, lo que redunda en un mayor como Vistas, lo que redunda en un mayor control sobre los objetos de sistema de la Base control sobre los objetos de sistema de la Base de Datos.de Datos.

Page 8: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

88

Características principales (2)Características principales (2)

Búsqueda de Texto Completo (Full-text):Búsqueda de Texto Completo (Full-text): SQL Server incluye un SQL Server incluye un soporte para soporte para

aplicaciones de texto completo ampliadasaplicaciones de texto completo ampliadas.. Las funcionalidades de catálogo han mejorado Las funcionalidades de catálogo han mejorado

con los años para proporcionar una con los años para proporcionar una mayor mayor flexibilidadflexibilidad sobre el conjunto de datos que se sobre el conjunto de datos que se catalogan. catalogan.

El rendimiento de las El rendimiento de las funciones de consulta y la funciones de consulta y la escalabilidad han mejoradoescalabilidad han mejorado sensiblemente. Una sensiblemente. Una serie de nuevas herramientas de gestión serie de nuevas herramientas de gestión permiten un mayor control de la implementación permiten un mayor control de la implementación de texto completo.de texto completo.

Page 9: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

99

Servicios de Reporting:Servicios de Reporting:

Servicios de Reporting Servicios de Reporting permite a los negocios permite a los negocios integrar de forma sencilla datos desde fuentes integrar de forma sencilla datos desde fuentes heterogéneas y data warehousesheterogéneas y data warehouses en informes en informes ricos, interactivos y gestionables, que pueden ricos, interactivos y gestionables, que pueden localizarse y consultarse en intranets, extranets localizarse y consultarse en intranets, extranets y en Internet.y en Internet.

Características principales (3)Características principales (3)

Page 10: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1010

Soporte para Xquery:Soporte para Xquery:

SQL Server incluye SQL Server incluye funcionalidades Xqueryfuncionalidades Xquery de de altas prestaciones, altas prestaciones, que permiten la que permiten la manipulación de objetos XMLmanipulación de objetos XML en la capa de en la capa de datos, así como un juego de herramientas de datos, así como un juego de herramientas de creación de Xquery.creación de Xquery.

Características principales (4)Características principales (4)

Page 11: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1111

Servicios de Transformación de Datos (DTS): Servicios de Transformación de Datos (DTS): Los Servicios de Transformación de Datos Los Servicios de Transformación de Datos (DTS) son un (DTS) son un conjunto de herramientas gráficas conjunto de herramientas gráficas y objetos programables que pueden usarse para y objetos programables que pueden usarse para extraer, transformar y cargar datosextraer, transformar y cargar datos (ETL) desde (ETL) desde fuentes muy diversas y llevarlas a un destino fuentes muy diversas y llevarlas a un destino único o múltiples destinos. único o múltiples destinos. Simplifica la Simplifica la importación y la exportación de datos entre dos importación y la exportación de datos entre dos bases de datosbases de datos compatibles con OLE DB. compatibles con OLE DB.

Características principales (5)Características principales (5)

Page 12: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1212

Bases de datos en SQL Server:Bases de datos en SQL Server: Cada SQL Server tiene dos tipos de Bases de Cada SQL Server tiene dos tipos de Bases de

datos: Bases de Datos del Sistema y Bases de datos: Bases de Datos del Sistema y Bases de Datos del usuario. Datos del usuario.

- - Las Bases de Datos del sistemaLas Bases de Datos del sistema, almacenan , almacenan información acerca de SQL Server como un información acerca de SQL Server como un total. SQL Server usa la Base de Datos del total. SQL Server usa la Base de Datos del sistema para operar y administrar al sistema. sistema para operar y administrar al sistema.

--Las Bases de Datos de usuariosLas Bases de Datos de usuarios, son creadas , son creadas por los usuarios. Una copia del SQL Server por los usuarios. Una copia del SQL Server puede administrar una o más Bases de datos de puede administrar una o más Bases de datos de usuario. usuario.

Características principales (6)Características principales (6)

Page 13: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1313

Bases de Datos de SQL Server:Bases de Datos de SQL Server:

Page 14: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1414

Características principales (7)Características principales (7)

ObjetoObjeto Server 7.0Server 7.0

Tamaño de Base de Datos 1,048,516 TB

Filas por base de datos 32,767

Tamaño de archivo (datos) 32 TB

Tamaño de archivo (registro) 4 TB

Objetos en una base de datos 2,147,483,6472,147,483,647

Parámetros por procedimiento almacenado

10241024

Page 15: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1515

3.Seguridad3.Seguridad

Ha incorporado mejoras significativas en el Ha incorporado mejoras significativas en el modelo de seguridad. Esta es la iniciativa modelo de seguridad. Esta es la iniciativa Trustworthy ComputingTrustworthy Computing..

Tiene como objetivo:Tiene como objetivo:

-Reducir los problemas potenciales desde el -Reducir los problemas potenciales desde el diseño y de pruebas.diseño y de pruebas.

-Reducir el área expuesta a ataques -Reducir el área expuesta a ataques desactivando funciones que puedan no ser desactivando funciones que puedan no ser necesarias.necesarias.

Page 16: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1616

Seguridad(1).ActuacionesSeguridad(1).Actuaciones

Restricción Restricción del acceso al servidor por parte de del acceso al servidor por parte de los usuarios:los usuarios:

Control de acceso y permite a los Control de acceso y permite a los administradores gestionarlo mediante politicas.administradores gestionarlo mediante politicas.DesactivaciónDesactivación de servicios restringiendo la de servicios restringiendo la configuración de los mismos:configuración de los mismos:

Los administradores pueden restringir los Los administradores pueden restringir los accesos a los recursos.accesos a los recursos.Cifrado de datosCifrado de datos dentro de la propia base de dentro de la propia base de datosdatosPolítica de contraseñasPolítica de contraseñas

..

Page 17: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1717

Valida a los usuarios con Valida a los usuarios con 2 niveles2 niveles de seguridad: de seguridad: Autentificación del login y validación de permisosAutentificación del login y validación de permisos en la en la

Base de Datos de cuentas de usuarios y de roles. Base de Datos de cuentas de usuarios y de roles. La autentificaciónLa autentificación identifica al usuarioidentifica al usuario que está usando que está usando una cuenta una cuenta y verificay verifica la habilidad de conectarsela habilidad de conectarse con SQL con SQL Server. Server. El usuario El usuario debe tener permiso para accederdebe tener permiso para acceder a las Bases a las Bases de Datos en el Servidorde Datos en el Servidor. Esto se cumple para asignar . Esto se cumple para asignar permisos específicos para la Base de Datos, para las permisos específicos para la Base de Datos, para las cuentas de usuario y los roles. cuentas de usuario y los roles. Los permisos controlan Los permisos controlan las actividades que el usuario tiene permitido realizarlas actividades que el usuario tiene permitido realizar en en la Base de Datos del SQL Server.la Base de Datos del SQL Server.

Seguridad (2)Seguridad (2)

Page 18: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1818

AUTENTIFICACIÓN DEL LOGIN:AUTENTIFICACIÓN DEL LOGIN: Un usuario debe tener una cuenta para conectarse al Un usuario debe tener una cuenta para conectarse al

SQL Server. Este reconoce dos mecanismos de SQL Server. Este reconoce dos mecanismos de autentificación: autentificación: Autentificación de SQL Server y de Autentificación de SQL Server y de Windows NTWindows NT. Cada uno tiene un tipo de cuenta . Cada uno tiene un tipo de cuenta diferente.diferente.

AUTENTIFICACIÓN DE SQL SERVER:AUTENTIFICACIÓN DE SQL SERVER: Cuando se usa, un administrador del Sistema de SQL Cuando se usa, un administrador del Sistema de SQL

Server, define una cuenta y un password WQL Server. Server, define una cuenta y un password WQL Server. Los usuarios deben suministrar tanto el login como el Los usuarios deben suministrar tanto el login como el password cuando se conectan al SQL Server.password cuando se conectan al SQL Server.

Seguridad (3)Seguridad (3)

Page 19: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

1919

Cuando SQL Server está Cuando SQL Server está en Windows NTen Windows NT, un sistema , un sistema administrador puede especificar que está corriendo en administrador puede especificar que está corriendo en uno de uno de 2 modos de autentificación2 modos de autentificación::

--Modo de autentificación de Windows NTModo de autentificación de Windows NT: Sólo está : Sólo está autorizada la autentificación de Windows NT. Los autorizada la autentificación de Windows NT. Los usuarios no pueden usar cuentas de SQL Server.usuarios no pueden usar cuentas de SQL Server.

--Modo mixtoModo mixto: Cuando se usa este modo de : Cuando se usa este modo de autentificación, los usuarios se pueden conectar a SQL autentificación, los usuarios se pueden conectar a SQL Server con la autentificación de Windows NT o con la de Server con la autentificación de Windows NT o con la de SQL Server.SQL Server.CUENTAS DE USUARIO Y ROLES EN UNA BASE DE CUENTAS DE USUARIO Y ROLES EN UNA BASE DE DATOS:DATOS:

Después de que los usuarios han sido autentificados, y Después de que los usuarios han sido autentificados, y se les ha permitido conectarse al SQL Server, deben se les ha permitido conectarse al SQL Server, deben tener cuentas en la Base de Datos. tener cuentas en la Base de Datos. Las cuentas de Las cuentas de usuario y los roles, identifican permisos para ejecutar usuario y los roles, identifican permisos para ejecutar tareas.tareas.

Seguridad (4)Seguridad (4)

Page 20: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2020

ROLES:ROLES: Permiten reunir a los usuarios en una sola unidad a la cual se le Permiten reunir a los usuarios en una sola unidad a la cual se le

pueden aplicar permisospueden aplicar permisos. SQL Server contiene roles de servidor y . SQL Server contiene roles de servidor y de Base de Datos predefinidos, para tareas administrativas de Base de Datos predefinidos, para tareas administrativas comunes, de manera que pueden asignársele determinados comunes, de manera que pueden asignársele determinados permisos administrativos a un usuario en particular. También se permisos administrativos a un usuario en particular. También se pueden crear roles de Base de Datos definidos por el usuario. En pueden crear roles de Base de Datos definidos por el usuario. En SQL Server, los usuarios pueden pertenecer a varios roles:SQL Server, los usuarios pueden pertenecer a varios roles:Roles fijos del Servidor:Roles fijos del Servidor: Proveen agrupamientos con privilegios Proveen agrupamientos con privilegios administrativos a nivel del Servidoradministrativos a nivel del Servidor. Son administrados . Son administrados independientemente de las Bases de Datos de usuarios a nivel independientemente de las Bases de Datos de usuarios a nivel servidor. servidor. Roles fijos de la Base de DatosRoles fijos de la Base de Datos: Proveen agrupamientos con : Proveen agrupamientos con privilegios administrativos privilegios administrativos a nivel de Base de Datosa nivel de Base de Datos..Roles de usuarios definidos en la Base de Datos:Roles de usuarios definidos en la Base de Datos: También se También se pueden crear roles para Base de Datos, pueden crear roles para Base de Datos, para representar un trabajo para representar un trabajo desarrollado por un grupo de empleados dentro de una desarrollado por un grupo de empleados dentro de una organizaciónorganización. No es necesario asignar y quitar permisos a cada . No es necesario asignar y quitar permisos a cada persona. En función de que cambia un rol, se pueden cambiar persona. En función de que cambia un rol, se pueden cambiar fácilmente los permisos del rol y hacer que los cambios se apliquen fácilmente los permisos del rol y hacer que los cambios se apliquen automáticamente a todos los miembros del rol.automáticamente a todos los miembros del rol.

Seguridad (5)Seguridad (5)

Page 21: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2121

VALIDACIÓN DE PERMISOS:VALIDACIÓN DE PERMISOS:Dentro de cada Base de Datos, Dentro de cada Base de Datos, se asignan permisos a las cuentas se asignan permisos a las cuentas de usuarios y a los roles para permitir o limitar ciertas accionesde usuarios y a los roles para permitir o limitar ciertas acciones. . SQL Server acepta comandos después de que un usuario ha SQL Server acepta comandos después de que un usuario ha accedido a la Base de datos.accedido a la Base de datos. SQL Server realiza los siguientes pasos cuando valida permisos:SQL Server realiza los siguientes pasos cuando valida permisos:

-Cuando el usuario realiza una acción, tal como ejecutar un -Cuando el usuario realiza una acción, tal como ejecutar un comando de Transact-SQL o elegir una opción de un menú, los comando de Transact-SQL o elegir una opción de un menú, los comandos de Transact SQL son enviadas al SQL Server.comandos de Transact SQL son enviadas al SQL Server.

-Cuando SQL Server recibe un comando de Transact –SQL, -Cuando SQL Server recibe un comando de Transact –SQL, testea testea que el usuario tenga permiso de ejecutar dicha instrucciónque el usuario tenga permiso de ejecutar dicha instrucción..

Seguridad (6)Seguridad (6)

Page 22: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2222

4.Optimización4.Optimización

Para optimizar SQL Server es necesario ajustar Para optimizar SQL Server es necesario ajustar la configuración, opciones, y valores de setup la configuración, opciones, y valores de setup basadas en las observaciones de las basadas en las observaciones de las características de trabajo del servidor.características de trabajo del servidor.

Estas observaciones se hacen durante el Estas observaciones se hacen durante el periodo de trabajo mas critico del servidor para periodo de trabajo mas critico del servidor para perfeccionar las cargas de trabajo más pesadas.perfeccionar las cargas de trabajo más pesadas.

Page 23: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2323

Memoria:Memoria:

La memoria de SQL Server esta dividida en dos La memoria de SQL Server esta dividida en dos espacios, el cache de procedimientos, y el espacios, el cache de procedimientos, y el cache de datos. cache de datos. El Servidor SQL distribuye El Servidor SQL distribuye eficazmente la memoria entre los dos caches eficazmente la memoria entre los dos caches usando los parámetros de configuración del usando los parámetros de configuración del cache de procedimientocache de procedimiento. La distribución de la . La distribución de la memoria restante entre procedimientos y datos, memoria restante entre procedimientos y datos, se encarga de mantener los objetos mas usados se encarga de mantener los objetos mas usados en sus respectivos caches de memoria.en sus respectivos caches de memoria.

Optimización (2)Optimización (2)

Page 24: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2424

La mejor manera de determinar cómo es usada La mejor manera de determinar cómo es usada la memoria por el Servidor de SQL es ejecutar la memoria por el Servidor de SQL es ejecutar DBCC MEMUSAGEDBCC MEMUSAGE..

Esta sentencia indica la cantidad de memoria Esta sentencia indica la cantidad de memoria asignada al Servidor de SQL en el comienzo, los asignada al Servidor de SQL en el comienzo, los 12 objetos más grandes en el cache de 12 objetos más grandes en el cache de procedimientos, y los 20 más grandes en el procedimientos, y los 20 más grandes en el cache de datos.cache de datos.

Optimización (3)Optimización (3)

Page 25: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2525

Optimizando el Cache de Datos :Optimizando el Cache de Datos : El cache de datos está compuesto de la memoria El cache de datos está compuesto de la memoria

sobrante del Servidor de SQL una vez que los sobrante del Servidor de SQL una vez que los requisitos del cache de procedimiento han sido requisitos del cache de procedimiento han sido satisfechos. satisfechos. Lo mejor es tener bastante espacio del Lo mejor es tener bastante espacio del cache para contener la mayoría  los índices usados y cache para contener la mayoría  los índices usados y un porcentaje respetable de las tablas mas accedidas un porcentaje respetable de las tablas mas accedidas frecuentemente, reduciendo las entradas/salidas frecuentemente, reduciendo las entradas/salidas físicas.físicas.

Se puede usar la sentencia DBCC MEMUSAGE para Se puede usar la sentencia DBCC MEMUSAGE para ver los 20 objetos más grandes del cache de datos y ver los 20 objetos más grandes del cache de datos y asi determinar un tamaño considerable para el cache asi determinar un tamaño considerable para el cache de datos basado en los tamaños de estos objetos. de datos basado en los tamaños de estos objetos.

Optimización (4)Optimización (4)

Page 26: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2626

El tamaño de las tablas e índices accedidas El tamaño de las tablas e índices accedidas mas frecuentemente también puede cambiarse mas frecuentemente también puede cambiarse aplicando las fórmulas del tamaño cedidas por aplicando las fórmulas del tamaño cedidas por Appendix AAppendix A of Microsoft SQL Server of Microsoft SQL Server Administrator's CompanionAdministrator's Companion. .

Habiendo calculado estos tamaños, se puede Habiendo calculado estos tamaños, se puede elegir asignar bastante memoria al Servidor de elegir asignar bastante memoria al Servidor de SQL y contener la íntegramente los objetos de SQL y contener la íntegramente los objetos de las bases de datos en el cache.las bases de datos en el cache.

Optimización (5)Optimización (5)

Page 27: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2727

Optimizando el Cache de Procedimientos. Optimizando el Cache de Procedimientos. Primero Primero se determina el tamaño óptimo para contener los se determina el tamaño óptimo para contener los

procedimientos almacenados más activosprocedimientos almacenados más activos. Se busca . Se busca prevenir las lecturas a procedimientos almacenados en prevenir las lecturas a procedimientos almacenados en disco porque esto es muy costoso.disco porque esto es muy costoso.

Si el cache de procedimiento es bastante grande , los Si el cache de procedimiento es bastante grande , los procedimientos no se descargaran del cache por los procedimientos no se descargaran del cache por los nuevos procedimientos cargados en el. ( nuevos procedimientos cargados en el. ( El Servidor de El Servidor de SQL guardará una copia duplicada de cada procedimiento SQL guardará una copia duplicada de cada procedimiento que se accede por más de un usuarioque se accede por más de un usuario.) por defecto, el .) por defecto, el Servidor de SQL distribuye 30 por ciento de memoria Servidor de SQL distribuye 30 por ciento de memoria disponible al cache de procedimientos después que el disponible al cache de procedimientos después que el kernel de SQL se ha asignado. kernel de SQL se ha asignado.

Optimización (6)Optimización (6)

Page 28: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2828

Se puede determinar si el cache de Se puede determinar si el cache de procedimientos es bastante grande ejecutando procedimientos es bastante grande ejecutando los procedimientos almacenados mas los procedimientos almacenados mas frecuentemente usados y ejecutando la frecuentemente usados y ejecutando la sentencia sentencia DBCC MEMUSAGEDBCC MEMUSAGE..Esto mostrara los 12 procedimientos Esto mostrara los 12 procedimientos almacenados más grandes en el cache de almacenados más grandes en el cache de procedimientos. Después de haber ejecutado procedimientos. Después de haber ejecutado todos los procedimientos que son llamados con todos los procedimientos que son llamados con mas frecuencia y haber obtenido sus tamaños, mas frecuencia y haber obtenido sus tamaños, se suman éstos valores y se obtiene el tamaño se suman éstos valores y se obtiene el tamaño total necesario del cache para todos los total necesario del cache para todos los procedimientos. procedimientos.

Optimización (7)Optimización (7)

Page 29: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

2929

Optimización (8)Optimización (8)

Page 30: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3030

Replicación

Generalidades sobre la Replicación

SQL Server 7 proporciona una amplia gama de soluciones de replicación para ajustarse a una variedad de requisitos de aplicación.

Facilidad de Uso Monitoreo, facilidad de uso, scripting y solución de problemas mejorados.

Escalabilidad La replicación a cientos de servidores y miles de usuarios es soportada a través de una arquitectura alineada que reduce la competencia en las tablas de replicación.

Actualización Mult-sitio

Las nuevas capacidades multi-sitio permiten actualizaciones en múltiples copias de los mismos datos.

Replicación Heterogénea APIs estándar publicados que soportan la replicación

bidireccional con otros proveedores de datos como Oracle, DB2, Sybase e Informix. La replicación a almacenes de datos no relacionales también son soportadas por medio de soluciones de terceros.

Page 31: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3131

Replicación(2)

Replicación Fusionada Fusión es un modelo de replicación en el cual los usuarios trabajan libre e independientemente. Más tarde el trabajo se combina en un resultado uniforme único.

Resolución de Conflictos de Fusión

Se proporcionan métodos para resolver conflictos de fusión por medio de resolución basada en prioridades. Una interfaz de resolución pública es proporcionada para soportar la reconciliación de reglas de negocios.

Actualización ‘Immediate Updating Subscriber’ permite hacer cambios a una copia de datos del suscriptor—siempre y cuando la actualización pueda hacerse simultáneamente al Editor por medio de un registro de dos fases.

Soporte Internet Suscripciones ´pull’ anónimas permiten a los servidores en el Internet suscribirse a publicaciones sin tener que registrarse con el editor. Este modelo permite a miles de servidores participar en la replicación de SQL Server.

Page 32: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3232

Facilidad de Uso y Herramientas de Administración

Auto-administración Dinámica

Necesidad de intervención DBA reducida: los recursos de memoria y bloqueo son ajustados dinámicamente; los tamaños de archivo crecen automáticamente; las características de auto-sintonización garantizan un desempeño consistente bajo condiciones variables de carga.

Administración Multi-Sitio

Potencia y flexibilidad mejoradas para administrar múltiples servidores. Los comandos de Arrastrar y colocar y los únicos pueden ser utilizados para implementar cambios a través de grupos de servidores. La administración se simplifica a través del uso de un depósito que mantiene metadatos de esquema, perfiles y transformación de datos para todos los servidores de la empresa.

Administración de Alerta/Evento

Habilidad mejorada para monitorear el estado del desempeño, disponibilidad y seguridad a través de administración de eventos basada en políticas. La administración mejorada de alertas provee notificación y recuperación inmediata en respuesta a los niveles de los umbrales y severidad.

Programación y Ejecución de Trabajos

El ambiente de programación y ejecución de trabajos es extendido para permitir trabajos independientes, multi-servidor, de paso único, pasos múltiples y trabajo por etapa con dependencias. Se provee gran flexibilidad a través de una variedad de ambientes de scripting: Visual Basic® Scripting Edition, Java scripting, comandos Windows NT y programas ODBC y OLE DB personalizados.

Page 33: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3333

Facilidad y Herramientas de Administración(2)

Objetos de Administración Distribuida

Proveedores Independientes de Software y los desarrolladores corporativos fácilmente pueden desarrollar aplicaciones de administración personalizadas. La estructura basada en COM expone todas las interfaces de administración para el SQL Server. Los componentes de automatización y aplicaciones personalizadas pueden escribirse utilizando Visual Basic, Visual Basic for Applications y scripting Java.

Herramientas de Perfiles y de Sintonización DBA

Las nuevas herramientas proveen perfiles y sintonización avanzados, incluyendo: •Los perfiles mejoran las capacidades de depuración permitiendo capturar y volver a reproducir la actividad del servidor. •El asistente de sintonización de índices provee una guía para del proceso de sintonización de índices. •El analizador de consulta gráfico permite un análisis de consulta fácil y profundo.

Seguridad La administración de seguridad se mejora y simplifica con una mejor integración con seguridad Windows NT y nuevos roles de servidor y de SQL Server. La integración con Windows NT incluye autenticación, soporte para múltiples grupos, modelo de otorgar/revocar/negar y uso dinámico de grupos.

Asistentes de Administración

Más de 25 asistentes simplifican las tareas avanzadas tales como la creación de bases de datos, programación de respaldos, importación y exportación de datos, y replicacións de configuración.

Page 34: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3434

Desempeño, Confiabilidad y Escalabilidad: Motor Relacional

Generalidades del Procesador Query

El procesador de consulta ha sido rediseñado para soportar las bases de datos extensas y las consultas complejas que se encuentran en aplicaciones de soporte de decisiones, data warehousing y OLAP.

Consultas Paralelas Efectua una ejecución paralela de intra-query en una consulta única a través de múltiples procesadores. Los pasos en una consulta única se ejecutan paralelamente, teniendo como resultado un tiempo de respuesta óptimo.

Consultas Distribuidas El procesador de consulta provee soporte nativo para las consultas heterogéneas distribuidas a través de BD OLE. El acceso a datos universales a los datos relacionales y no relacionales es inherente al procesador de consulta y nativo al lenguaje Transact SQL.

Estrategias de Utilización de Indices

Las nuevas estrategias de elaboración de índices incluyen índices múltiples en una tabla única o múltiple, múltiples índices cubiertos y unidos. La creación paralela de índices en la misma tabla, el mantenimiento de estadísticas es automático por configuración predeterminada.

Page 35: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3535

6.6.Pros (1)Pros (1)

Los Servicios de Transformación de Datos Los Servicios de Transformación de Datos (DTS). (DTS). Los Servicios OLAP del Servidor SQL de Los Servicios OLAP del Servidor SQL de MicrosoftMicrosoft

Con la inclusión de los Servicios OLAP como Con la inclusión de los Servicios OLAP como parte del Servidor SQL, parte del Servidor SQL, Microsoft ha abierto el Microsoft ha abierto el mercado del data warehousingmercado del data warehousing, data mart, y el , data mart, y el soporte a tomas de decisión soporte a tomas de decisión a muchas a muchas empresas pequeñas o medianasempresas pequeñas o medianas que no habrían que no habrían pensado en usar este tipo de herramienta dados pensado en usar este tipo de herramienta dados sus elevados costes.sus elevados costes.

Page 36: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3636

Asignación Dinámica de Recursos. La asignación Asignación Dinámica de Recursos. La asignación dinámica de recursos del SQL Server es una dinámica de recursos del SQL Server es una característica muy útil. La asignación dinámica de característica muy útil. La asignación dinámica de recursos recursos permite la escalabilidad del uso del disco y permite la escalabilidad del uso del disco y memoria para acomodarse a las necesidades de la base memoria para acomodarse a las necesidades de la base de datosde datos en cada momento. Esta flexibilidad permite un en cada momento. Esta flexibilidad permite un mejor rendimiento y simplifica la administración del mejor rendimiento y simplifica la administración del software. software. La posibilidad de mirar los contenidos de una tabla La posibilidad de mirar los contenidos de una tabla directamente desde el EM.directamente desde el EM. Otra función muy útil es la posibilidad de cambiar Otra función muy útil es la posibilidad de cambiar directamente los tipos de datos de las tablas existentes.directamente los tipos de datos de las tablas existentes.

Pros (2)Pros (2)

Page 37: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3737

Contras (1)Contras (1)

La instalación y operación La instalación y operación requiere del Internet Explorerrequiere del Internet Explorer (IE) 4.0. Le guste o no, la interfaz del navegador de Web (IE) 4.0. Le guste o no, la interfaz del navegador de Web sigue siendo cada vez más habitual, y su uso es lo sigue siendo cada vez más habitual, y su uso es lo último en desarrollo de interfaces. Podemos entender último en desarrollo de interfaces. Podemos entender por qué Microsoft quiere usarlo con el Servidor SQL, ya por qué Microsoft quiere usarlo con el Servidor SQL, ya que también es un producto de la compañía. Sin que también es un producto de la compañía. Sin embargo, embargo, no hay ninguna utilidad para un navegador de no hay ninguna utilidad para un navegador de Web en el servidor de la base de datosWeb en el servidor de la base de datos, y su instalación , y su instalación es un problema que posiblemente, a más de uno le es un problema que posiblemente, a más de uno le gustaría evitar.gustaría evitar.

La migraciónLa migración requiere requiere un reinicio de la base de datosun reinicio de la base de datos. El . El reinicio de todos los datos en una base de datos es un reinicio de todos los datos en una base de datos es un

trabajo serio que trabajo serio que invita a la potencial pérdida de datosinvita a la potencial pérdida de datos..

Page 38: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3838

Ausencia de integridad referencial declarativa Ausencia de integridad referencial declarativa en cascada (DRI). en cascada (DRI).

La ausencia de una integridad referencial en La ausencia de una integridad referencial en cascada podría ser la desventaja más grande cascada podría ser la desventaja más grande del Servidor SQL en comparación con las otras del Servidor SQL en comparación con las otras bases de datos dentro del mercado NT. bases de datos dentro del mercado NT.

Incluso Access ofrece soporte de este estilo. Incluso Access ofrece soporte de este estilo. Se pueden utilizar triggers para compensar esta Se pueden utilizar triggers para compensar esta desventajadesventaja, aunque en otras bases de datos , aunque en otras bases de datos esta técnica no es necesaria, así que no es esta técnica no es necesaria, así que no es lógico que deba utilizar para trabajar con SQL lógico que deba utilizar para trabajar con SQL Server 7.0. Server 7.0.

Contras (2)Contras (2)

Page 39: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

3939

7.Oracle 9i vs SQL Server 20007.Oracle 9i vs SQL Server 2000

Al comparar las dos bases de datos una diferencia Al comparar las dos bases de datos una diferencia destacada de SQL Server respecto a Oracle es el destacada de SQL Server respecto a Oracle es el precio. precio.

CPUs Oracle9i Edición StandardSQL Server 2000 Edición

Standard

1 $15,000 $5,000

2 $30,000 $10,000

4 $60,000 $20,000

8 $120,000 $39,992

16 $240,000 $79,984

32 $480,000 $159,968

Page 40: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4040

SQL Server Oracle SQL Server Oracle

SMP para 4 CPUs, 2GB SMP para 4 CPUs, 2GB de RAMde RAMReplicaciónReplicación Funcionabilidad para Funcionabilidad para comercio, data comercio, data warehousing, linea de warehousing, linea de trabajo trabajo Servicios de Servicios de Transformacion de Datos Transformacion de Datos (DTS)(DTS)Busqueda de texto Busqueda de texto completocompleto

Minimo 5 usuarios por Minimo 5 usuarios por procesador procesador ReplicaciónReplicaciónJava, XML, Globalization Java, XML, Globalization SoporteSoporteManejo de estadisticasManejo de estadisticasFunciones Analiticas Funciones Analiticas Salidas a otros sistemas / Salidas a otros sistemas / aplicacionesaplicacionesTexto de OracleTexto de Oracle

Edición StandardEdición Standard

Page 41: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4141

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

1 $40,000 $60,000 $80,000 $20,000

2 $80,000 $120,000 $160,000 $40,000

4 $160,000 $240,000 $320,000 $80,000

8 $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

Edición EnpresarialEdición Enpresarial

Page 42: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4242

SQL Server Oracle SQL Server Oracle

32-bit: 32 CPUs y 64 GB 32-bit: 32 CPUs y 64 GB RAMRAM64-bit: 64 CPUs y 512 GB 64-bit: 64 CPUs y 512 GB RAMRAMVistas Particionadas y Vistas Particionadas y distribuidas.distribuidas.Fail over ClusteringFail over ClusteringVistas IndexadasVistas IndexadasMulti-lenguageMulti-lenguageOLAPOLAPDirect SAN soporteDirect SAN soporte

Minimo 25 usuarios Minimo 25 usuarios Seguridad para los datosSeguridad para los datosAplicacion Transparente Aplicacion Transparente para los fallos.para los fallos.Base deDatos Virtual Base deDatos Virtual PrivadaPrivadaParticionaParticionaAplicacion Real de Aplicacion Real de ClustersClusters Paquete de diagnosticoPaquete de diagnosticoOLAPOLAP Data MiningData Mining

Edición EmpresarialEdición Empresarial

Page 43: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4343

Plataformas de Oracle Plataformas de SQL ServerPlataformas de Oracle Plataformas de SQL Server

Sistema OperativoSistema Operativo UNIX - IBM’s AIX, HP-UNIX - IBM’s AIX, HP-

UX, Sun SolarisUX, Sun Solaris LINUXLINUX Windows NT 4.0, Windows NT 4.0,

service pack 5service pack 5 Windows 2000, Windows 2000,

service pack 1service pack 1 Windows 2003Windows 2003 Windows XPWindows XP

SistemaSistema OperativoOperativo Windows NT 4.0, Windows NT 4.0,

service pack 5service pack 5 Windows 2000 ServerWindows 2000 Server Windows 2003 ServerWindows 2003 Server

Page 44: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4444

Plataformas de Oracle Plataformas de SQL ServerPlataformas de Oracle Plataformas de SQL Server

Hardware - IBM, HP, Hardware - IBM, HP, Sun, + IntelSun, + Intel Pentium 166 MHz o Pentium 166 MHz o

mayormayor 128 MB RAM - 256 128 MB RAM - 256

MB a mejorMB a mejor Disco duro :Disco duro :

140 MB 140 MB

4.5 GB Home (FAT)4.5 GB Home (FAT)

o 2.8 GB Home (NTFS)o 2.8 GB Home (NTFS)

HardwareHardware Pentium 166 MHz o Pentium 166 MHz o

mayormayor 64 MB RAM - 128 MB 64 MB RAM - 128 MB

a mejora mejor Disco duro : Disco duro :

95-270 MB (250 usual)95-270 MB (250 usual)

50 MB min Analysis < 50 MB min Analysis < Serv Serv

80 MB English Query80 MB English Query

Page 45: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4545

Otra diferencia es el lenguaje utilizado:Otra diferencia es el lenguaje utilizado: SQL Server utiliza T-SQL y Oracle utiliza un SQL Server utiliza T-SQL y Oracle utiliza un

lenguaje mas poderoso: PL-SQLlenguaje mas poderoso: PL-SQL

Caracteristicas PL/SQL T-SQL

Indices

Arboles ,Bitmapas ,

Particionados ,De funciones,De dominio

Arboles

Tablas Tablas Relacionales, Tablas Temporales,

Tablas de objetos

Tablas Relacionales, Tablas Temporales

Triggers BEFORE triggers,

AFTER triggers,INSTEAD OF triggers

AFTER triggers,INSTEAD OF triggers

Procedures

PL/SQL , metodos en Java,

lenguaje de 3.ra generacion(3GL) rutinas

T-SQL

Arrays Los tolera No los tolera

Page 46: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4646

LimitesLimitesCaracteristicas SQL Server 2000 Oracle 9i

Tamaño del nombre de laBase de datos 128 8

columna name length 128 30

Tamaño del nombre de indice 128 30

Tamaño del nombre de tabla 128 30

Tamaño de vista por nombre 128 30

stored procedure name 128 30

Tamaño de indice 900 749

Tamaño max columnas por indice 16 32

Tamaño maximo por caracter 8000 2000

Tamaño maximo por varchar() 8000 4000

Tamaño maximo columnas por tabla 1024 1000

Tamaño maximo de tabla en linea 8036 255000

Tamaño maximo query 16777216 16777216

subqueries recursivas 40 64

Tamaño del string en SELECT 16777207 4000

Tamaño del string en WHERE 8000 4000

Page 47: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4747

En resumenEn resumen

SQL Server 2000 ventajas:SQL Server 2000 ventajas: SQL Server 2000 es mas barato que Oracle 9i SQL Server 2000 es mas barato que Oracle 9i

Database. Database. Da buenos resultados calidad/precio. Da buenos resultados calidad/precio. Es más facil de instalar y manejar. Es más facil de instalar y manejar.

Oracle 9i ventajas:Oracle 9i ventajas: Oracle 9i se puede instalar en cualquier plataforma,Oracle 9i se puede instalar en cualquier plataforma, no solo en plataformas Windows. no solo en plataformas Windows. PL/SQL es un lenguaje más poderoso que T-SQL. PL/SQL es un lenguaje más poderoso que T-SQL.

Page 48: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4848

8.Opiniones de usuarios8.Opiniones de usuarios

Positivas:Positivas: - Buen rendimiento- Buen rendimiento -Compatibilidad-Compatibilidad -Rapido-Rapido -Eficiente-Eficiente -Sencillo-Sencillo -Precio-Precio -Seguro-Seguro -Facil instalación-Facil instalación

Negativas:Negativas: -Tiempo de -Tiempo de

respuesta largorespuesta largo -Difícil manejabilidad -Difícil manejabilidad

de la consolade la consola -Poco eficaz por el -Poco eficaz por el

SQL limitadoSQL limitado -Poco seguro-Poco seguro -BD relativamente -BD relativamente

pequeñaspequeñas

Page 49: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

4949

9.Conclusiones9.Conclusiones

SQL Server se posiciona como SQL Server se posiciona como sistema de servidor de sistema de servidor de datos de medio niveldatos de medio nivel, para sistemas de gestion , para sistemas de gestion intra/extranet, con volumenes no excesivos.intra/extranet, con volumenes no excesivos.Su relacion Su relacion potencia/calidad/preciopotencia/calidad/precio, lo hacen inmejorable , lo hacen inmejorable como backend de publicaciones web de cierto tamaño, como backend de publicaciones web de cierto tamaño, aplicaciones internet u offline, y la mayoria de aplicaciones internet u offline, y la mayoria de aplicaciones de media escala.aplicaciones de media escala.Si necesitamos mayores exigencias, y entra en juego Si necesitamos mayores exigencias, y entra en juego factores como transaccionalidad , replicaciones, factores como transaccionalidad , replicaciones, volumenes masivos de datos.. seria mejor Oracle.volumenes masivos de datos.. seria mejor Oracle.

Page 50: 1 SQL SERVER Arantza Garcia Arrastia ABD Curso 2004/2005

5050

BibliografiaBibliografia

““SQL Server Programación y administración”SQL Server Programación y administración” de Alfons Gonzalez de Alfons Gonzalez “ “Analysis Services” basada en msdn library de David IsemingerAnalysis Services” basada en msdn library de David Iseminger

www.microsoft.com/sql/www.microsoft.com/sql/

httphttp://://wwwwww.ilustrados..ilustrados.comcom/publicaciones//publicaciones/EpyVyVAVyFpAIxrDBrEpyVyVAVyFpAIxrDBr..phpphp

SQL Server 2000 vs. Oracle9i SQL Server 2000 vs. Oracle9i http://www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htmhttp://www.mssqlcity.com/Articles/Compare/sql_server_vs_oracle.htm httphttp://://wwwwww..dbasupportdbasupport..comcom//oracleoracle/ora9i//ora9i/SQLServerSQLServer_compare._compare.shtmlshtml

www.mundotutoriales.comwww.mundotutoriales.com

httphttp://://downloaddownload..microsoftmicrosoft..comcom//downloaddownload/c/3/0/c3061a67-2bf7-472c-92a5-1a71acae691a/Seguridad_SQL_Server./c/3/0/c3061a67-2bf7-472c-92a5-1a71acae691a/Seguridad_SQL_Server.pdfpdf

wwwwww..programatiumprogramatium..comcom

http://www.http://www.oreillyoreilly.com/.com/catalogcatalog//wintrnssqlwintrnssql/chapter/ch01.html/chapter/ch01.html

httphttp://://wwwwww..sqlteamsqlteam..comcom//itemitem..aspasp??ItemIDItemID=1650=1650