You are on page 1of 53

*

®

*
Lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...).

Introducción
El siguiente diagrama ilustra los componentes básicos en SQL Server 2005, muestra cómo SQL Server 2005 es una parte importante de Windows Server System y se integra con la plataforma Microsoft Windows, incluidos Microsoft Office System y Visual Studio.

Overview

Características Importantes
MS-SQL Server 2005 cuenta con las siguientes ediciones (versiones):
Enterprise Edition (Empresarial) Standard Edition (Versión Estándar) Workgroup Edition (Para Grupos de Trabajo) Express Edition (Edición Personal) Compact Edition (Para dispositivos móviles) Developer Edition (Para desarrolladores de Software) 64-Bit Platform Edition (Para plataformas de 64 Bits)

Características Importantes
Edición Express Beneficio
La forma más rápida de aprender, crear e implementar aplicaciones simples orientadas a datos. Solución de base de datos sumamente accesible y muy fácil de usar para pequeños departamentos y empresas en crecimiento. Plataforma completa de administración y análisis de datos para empresas medianas y grandes departamentos.

Tamaño
1 CPU 1 gigabyte (GB) RAM 4 GB de tamaño de base de datos 1 o 2 CPU 3 GB RAM

Características clave
4 GB de tamaño de base de datos Informes simples Réplica y Cliente SSB Management Studio Importación/Exportación Publicacion limitada de répica Organización en clústeres Transmisión de registros de seguridad

Workgrou p

Standard

1 a 4 CPU RAM ilimitada

Reflejo de bases de datos ETL básica Servidor OLAP estándar con Analysis Servicies Informes estándar con Reporting Servicies Minería de datos Réplica completa y Publicación SSB Disponible en ediciones nativas de 32 y 64 bits Admite Itanium 2 y x64 Reflejo de bases de datos avanzados, operaciones completas en línea y paralelas e instantáneas de bases de datos Herramientas de análisis avanzadas con OLAP completo y minería de datos Creación avanzada de informes con informes especiales, de muy alto nivel y personalizados ETL avanzada con enrutamiento de datos y capacidades de transformación Disponible en ediciones de 32 y 64 bits Admite Itanium 2 y x64

Empresa

Plataforma totalmente integrada de administración y análisis de datos para aplicaciones empresariales esenciales.

Escala y particionamient o ilimitados

*
Fácil de instalar y configurar Rápida descarga (Express Edition) Interfaz de configuración simplificada Instalación sin intervención del usuario para utilización embebida Implementación integrada mediante un solo Click Fácil de utilizar y administrar Herramienta nueva y ligera para la administración y edición de consultas Optimizador avanzado de consultas Ajuste automatizado Asistentes para las tareas más comunes Administrador de equipo para iniciar y detener el servicio Servicio y aplicación de revisiones automatizados (parte de Microsoft Update) Compatibilidad XCopy Amplia funcionalidad de bases de datos Procedimientos almacenados Vistas Triggers Cursores Índices ampliados Aislamiento a nivel de snapshot Optimizador avanzado de consultas Compatibilidad con T-SQL Compatibilidad con XML Tipo XML nativo Compatibilidad con datos estructurados y semiestructurados Compatibilidad con XQuery Compatibilidad con esquemas XML

*
Seguridad robusta Valores predeterminados seguros Derechos de administración detallados Tres niveles de seguridad de acceso al código: - Seguro - Acceso externo (verificable) - No seguro Aprovechamiento de los procedimientos almacenados como capa de abstracción Compatibilidad con Active Directory Compatibilidad con la autenticación de Windows
Profunda integración con Visual Studio 2005 Depuración integrada Se instala con Visual Studio 2005 Explorador de datos de Visual Studio para diseñar esquemas,agregar datos y realizar consultas en bases de datos locales CLR alojado en SQL Server Express Tipos y agregados definidos por el usuario Acceso a datos en proceso con ADO.NET v2 Integración de seguridad de SQL y CLR

Debilidades (respecto a SQL Server 2000)

Consultas lógicamente equivalentes con las condiciones NOT ANY y NOT EXISTS no generan el mismo resultado cuando de por medio tenemos atributos con la marca null.

La condición ALL(subconsulta) resulta VERDAD cuando la subconsulta tiene como resultado vacío, por ejemplo, una subconsulta en una Base de Datos de gestión de Tarjetas de Débito sería Obtener los retiros de fondos mayores a todos los depósitos de una cuenta , la cual resulta VERDAD! por que no existen cuentas que tengan retiros mayores a los depósitos. La Intersección de dos tablas se puede realizar por medio de la comparación de todos los atributos o por medio del operador INTERSECT del SQL. El problema es que consultas lógicamente equivalentes en ambos casos dan resultados diferentes cuando de por medio tenemos atributos con la marca null. Los debilidades y características mencionadas (y muchas otras) repercuten directamente en el resultado de las operaciones de actualización INSERT, UPDATE y DELETE. En este caso el problema es mayúsculo ya que se trata de actualización de Bases de Datos con datos erróneos. Respecto a MS-SQL Server 2005 sólo se ha encontrado como debilidad o inconveniente el precio de las licencias.

Alta Disponibilidad para aplicaciones empresariales Alta Seguridad y Performance Foco en operación y optimización

Sólida integración con Visual Studio y Framework .NET Tecnología XML Nativa Interoperabilidad vía Web Services

Toma de decisión en tiempo real: reporting, data mining Soluciones para clientes enriquecidos y SharePoint Portal Services Hasta 600% más rápido!
9

*

*
* Administración completa del motor relacional * Analysis Services * Reporting Services * SSIS * No requiere una conexión activa * Manejo de soluciones * GUI Mejorado * Incluye herramientas de V Studio * Query Analyzer
10

*
Query Analyzer

Management Studio

Enterprise Manager

OLAP Analysis Manager

Report Services

Notification Server SQL Mobile

Integration Services

11

*
* Sqlcmd
Usa OLE DB Permite el uso de variables Ejecución interactiva

Escriba SQLCMD para ingresar al Modo interactivo Escriba Exit para salir del Modo interactivo

12

*
* Generar integración de datos de alto rendimiento y soluciones de
flujo de trabajo, incluyendo operaciones de extracción, transformación y carga para almacén de datos.

* Incluye herramientas gráficas y asistentes para realizar funciones de
flujo de datos tales como operaciones de FTP, ejecución de instrucciones SQL y mensajería de correo electrónico.

* Mezclar datos de almacenes de datos heterogéneos * Llenar almacenamientos de datos * Limpiar y normalizar datos * Generar Business Intelligence en un proceso de transformación
de datos * Automatizar las funciones administrativas y la carga de datos
13

*
* Framework para desarrollo de aplicaciones
basadas en suscripciones

* Notificación de eventos * Pero esto no lo hace un trigger??
Si, pero un event notification se comunica con el Broke Service hacia el exterior.

CREATE EVENT NOTIFICATION TraceProcs ON TABLE Production.Products FOR DELETE TO SERVICE [DeleteLogger]

14

*
* Creación de informes en
SQL Server

* Los reportes son

compilados en SQL Server por el CLR Framework

* Muy veloces * Seguridad * Salida por HTTP, mail * Exportable a múltiples
formatos

15

*
Browser Office Custom Application

Data Sources (SQL, OLE DB, XML/A, ODBC, Oracle, Custom)

URL / XML Web Service Interface Report Server
Report Processing

Security Services (Windows, Custom)

Data Processing

Security

Delivery

SQL Server Catalog
16

Delivery Targets (E-mail, File Share, Custom)

*
Ventajas: * Funcionalidad * Seguridad * Integración * Código administrado Objetos: * Stored Procedures * Tipos de datos del usuario * Funciones del usuario * Triggers
17

*

* Importar Assembly * Los assemblies son mantenidos
dentro de la base de datos

CREATE ASSEMBLY asmMiAssembly FROM 'c:\myassembly.dll'

18

*
HTTP Endpoint

* Sin necesidad de IIS * Publicar SP o funciones como Web Services * Autenticación anónima no disponible * Métodos de autenticación disponibles:
* Basic * Integrada * Digest * SQL Server (WsSecurity Token) modelo mixto

* Usando seguridad Basic o SQL Server, se debe procurar utilizar SSL y
filtrado de IP·s
19

*
* 1. Un endpoint tiene un nombre * 2. Un conjunto de opciones para
el transporte (HTTP) create endpoint Demo 1 as HTTP ( authentication = ( integrated ), path = '/sql/demo', ports = ( clear), state = started ) 2 for soap ( webmethod 'http://logicstudio.net'.'testpro c1¶ (name = demodb.dbo.testproc1), batches = enabled, wsdl = default 3
20

* 3. WebService. Un conjunto de

opciones para la carga (SOAP) ² métodos invocables en ese URL

)

*
*
Acceso nativo a SOAP
http://server1/aspnet/default.aspx

* * * *

Acceso basado en estándares a SQL Server Independiente del cliente Interoperabilidad mejorada
Kernel Mode Listener

Nuevo objeto ´ENDPOINT AS HTTPµ

* * * *

Configura información de la conexión Configura autenticación Expone Funciones & SPs Expone TSQL Batches
21

http://server1/sql/pubs?wsdl

*
* Nuevo tipo de dato: XML * Max: nueva dimensión para tipos de datos:
* Varchar * Nvarchar * Varbinary

Amplía el campo a 2GB

* Mayor tamaño de fila:

* Antes, máxima longitud de fila: 8KB * Ahora, también«

22

*
* Mejora la perfomance utilizando:
* Múltiples procesadores * Múltiples HDD

* Mejora la administración de datos
* En tablas enormes

23

*
* Envía mails vía SMTP desde SQL * Devuelve result sets o archivos * Sendimail_sp
EXECUTE sendimail_sp @profile_name = 'TestProfile' ,@recipients = 'user1@thomrizdomain.com' ,@body = '<BODY><H1><CENTER>Sunshine!</CENTER></H1></BODY>' ,@subject = 'To brighten your day' ,@file_attachments = 'C:\sunshine.jpg' ,@body_format = 'HTML' GO

24

*
Depurar instrucciones Analizar el rendimiento Hacer pruebas de stress Auditar la actividad de la base de datos Workload para Tunning

25

*
* Nuevos en 2005 * Útil para monitoreo y auditoria
CREATE TRIGGER MiDDLTrigger ON ALL SERVER FOR DDL_LOGIN_EVENTS AS INSERT INTO [AdventureWorks].[dbo].[dbo.DDLServerTriggerData] (DDLServerEvent) VALUES ( EVENTDATA())

26

*
* Similar a los triggers * Pueden comunicarse via Service
Broker con otras instancias y aplicaciones

27

*
* Nuevo! Se pueden modificar índices * Con alter index se reemplaza a varios comandos DBCC * Operar con índices ´onlineµ sin bloqueos exclusivos * Limitar número de procesadores involucrados con maxdop * Índices Particionados * Se pueden crear índices XML de datos XML
28

*
* Que tipo de base de datos tengo? * Cómo saber cuales son los mejores índices para mis
tablas?

* Están mis archivos de bases de datos bien
distribuidos?

* Están mis tablas e índices bien particionados? * No necesito gran conocimiento del comportamiento
de los usuarios, aplicaciones que utilizan los datos

29

*
* Genera recomendaciones * Ejecuta recomendaciones * Sin necesidad de conocer en profundidad el negocio
ni el comportamiento de usuarios y aplicaciones

* Analiza carga colectada desde : * Workload:
* Script T-SQL * Profiler (Archivo o tabla)

* Nuevo!: Cross-Databases Tunning

30

*
* Lo nuevo:
* Políticas de contraseñas * Rangos de seguridad jerárquicos * Separación de usuario y esquema * Visibilidad limitada de metadatos * Contexto de ejecución declarativa * Emisión de certificados digitales

31

*
* Similar a Windows2003 * Integrada a la políticas de Windows2003:
* Check_Policy (default) * Check_Expiration (default)

32

*
* ´Identidades autenticadas en SQL Serverµ * Se le pueden asignar permisos * Existen dos tipos:
* Indivisibles (logins) * Grupos (roles)

* Niveles:
* Windows * SQL Server * Base de datos

33

*
*´Recursos a los que se les controla el accesoµ *Existen 3 agrupaciones llamadas scopes:
* Servidor
(Logins, endpoints, certificados,Notificaciones, eventos)

* Base de datos * Schema

(Assemblies, Servicios,eventos, mensajes,eventos DDL)

(Tablas, Vistas,funciones, SP, colas, etc.)
34

*
* ´Controlan el acceso de Pricipals a asegurablesµ * Pueden Conceder, Denegar o Revocar * Nuevo! Conceder permisos a nivel de servidor

35

*
* Mapeo de login/usuario * Por defecto todos los miembros del rol
de servidor sysadmin son mapeados al usuario dbo de todas las bases de datos

* Existen usuarios especiales sin login,
por ejempo guest

36

*
* Espacio de nombre para objetos * Server.database.schema.object * El schema se ha separado del owner, otorgando:
* Flexibilidad:
El agrupamiento del schema no depende de su owner * Simplicidad: Permisos otorgados al objeto o al schema * Mejora: no es más necesario renombrar objetos o cambiar propietarios al eliminar usuarios.

37

*

38

*
* Necesario determinar un método claro
para bases con múltiples schemas

* 1. Si el usuario tiene default schema: * 2. Si no es encontrado en el default

SQL intenta encontrar el objeto en ese schema

schema del usuario, SQL lo busca en el schema dbo

39

*

40

*
Propiedad de Celia

Aplic.

SELECT CustomerID FROM Celia.Customer

Cliente

El propietario cambió a Verónica

Aplic.

SELECT CustomerID FROM Celia.Customer

Cliente

41

*
Propiedad de Celia

Aplic.

SELECT CustomerID FROM Sales.Customer

Cliente El propietario cambió a Verónica Ventas

Aplic.

SELECT CustomerID FROM Sales.Customer

Cliente

42

*
* No existe más: * Backup log with no_log * Backup log with truncate_only * Completo * Diferencial * Backup Parcial * Copy-only * Transaction Log

43

*
* No se puede restaurar una base que tiene un
snapshot

* Restauración Point-in-time * Restauración de paginas * Restauración online (enterprise edition):

una vez restaurado el primary file group la base de datos entra en estado operativo

44

*

* SQL Server 2005 provee tres tecnologías para crear sistemas
altamente disponibles:

* Clustering * Log Shipping * Nuevo! : Database Mirroring

45

*
* Basado en la tecnología de clustering de Windows
Server 2003
Failover Cluster

* SQL Server Enterprise edition sobre

Windows Server 2003 Datacenter edition soporta hasta 8 nodos.

* Solución de disponibilidad de alto costo

46

*
* Sistema standby server * Restauración constante del transaction logs
sobre un servidor secundario Log Shipping

* Posible solo sobre bases de usuario * Solución de disponibilidad de bajo costo

47

*
* Solo disponible en Enterprise Edition * Versión mejorada del log shipping * En lugar de shipping a intervalos
regulares del transaction log, hace shipping de cada una de las transacciones
Database Mirroring

* Excelente tiempo de failover (<3segundos)

48

*
* Ahora es posible crear suscripciones
a publicaciones snapshot y transaccionales en Oracle

* No es necesario tener conocimientos
avanzados de Oracle

49

*
* Todos los nodos son iguales * No existe jerarquía * Se utiliza replicación transaccional

50

*
Antes era necesario habilitar una VPN * Ideal para usuarios móbiles * Traspasa firewalls * Transmisión en formato XML * Utiliza replicación Merge
Subscriber
Firewall

IIS

Publisher/Distributor

https://myserver.mydomain.com

Replisapi.dll

51

Conclusiones.
MS-SQL Server es un SMBD muy completo y poderoso; con la ventaja, al parecer, que no requiere amplios conocimientos para su uso. Tiene versiones y precios prácticamente al alcance de cualquier bolsillo o presupesto.

MS-SQL Server está logrando una mayor aceptación el mercado respecto a sus dos más grandes competidores: IBM y Oracle. Sus cambios de versiones son radicales entre sí en cuanto a funciones.

http://www.microsoft.com/spain/sql/productinf o/overview/what-is-sql-server.mspx http://aisa.ei.uvigo.es/BENCH/document/Inform e_Benchmark.pdf http://benchmarking.oracle.sqlserver.velneo.co m/es/ http://www.monografias.com

*