Descargar

Introducción a SQL Server 2005 (página 2)

Enviado por Rafael Pampavilca


Partes: 1, 2

Service Broker habilita la creación de colas para comunicación message-based transaccionales y confiables entre servicios de software. Esto hace a SQL Server 2005 una mejor plataforma para soluciones service-based.

Mejoras del Service Broker

Las principales mejoras del Service Broker son descriptas en la siguiente tabla:

edu.red

El Lenguaje común de Los Tiempos de Ejecución

edu.red

Introducción

El Lenguaje Común de Tiempos de Ejecución de .NET (CLR) provee un ambiente de administración para código escrito en lenguaje .NET como Visual C# o Visual Basic .NET.

Integración de .NET CLR en SQL Server

El motor de la base de datos SQL Server 2005 tiene alojado el .NET CLR, haciendo posible desarrollar objetos de base de datos usando códigos

escritos en un lenguaje de programación .NET.

La habilidad de desarrollar objetos de base de datos en código .NET provee varias ventajas, incluyendo un modelo de administración de seguridad, funcionalidad que no esta disponible o es difícil de implementar en Transact-SQL, y es una mayor elección para desarrollar lenguaje.

Se pueden desarrollar las siguientes clases de objetos de base de datos en código administrado:

! Procesos Almacenados

! Tipos de datos User-defined

! Funciones User-defined

! Triggers

! Agregar funciones User-defined

Definir objetos de base de datos con código administrado

La unidad de despliegue de aplicaciones para .NET Framework es la assembly. Una assembly es un archivo DLL o EXE compilado que contiene clase de definiciones y código.

Se puede importar una assembly a una base de datos usando el documento CREATE ASSEMBLY, y use mejoras para el CREATE PROCEDURE, CREATE

TRIGGER, CREATE FUNCTION, CREATE AGGREGATE, y el documento CREATE TYPE para implementar un objeto de base de datos usando el código dentro del assembly.

Desarrolladores pueden crear objetos de base de datos en el entorno de Visual Studio .NET y desplegarlos directamente en la base de datos.

Soporte Innato HTTP

Introducción

Cuando usamos Microsoft Windows Server 2003, SQL Server 2005 responde de manera innata a los requerimientos HTTP sin la ayuda de software Web Server como IIS. Esto hace mas fácil implementar Web Services basados en una base de datos SQL Server.

Administrar HTTP endpoints

Para habilitar que los requerimientos HTTP sean manejados innatamente por SQL Server, debes crear uno o mas HTTP endpoints usando los documentos CREATE ENDPOINT. El documento CREATE ENDPOINT es usado para:

! Registrar una URL con http.sys asi los requerimientos a esa URL es redireccionado al SQL Server.

! Especificar los puertos TCP en los cuales los requerimientos van a ser aceptados.

! Especificar un mecanismo de autenticación para el endpoint. Se puede autenticar un cliente usando métodos de autenticación básicos, integrados o resumidos.

La autenticación anónima ha sido borrada.

! Setear el estado inicial (stopped o started) del endpoint. Por defecto, los endpoint son creados en un estado stopped. Para iniciar un endpoint luego de que este ha sido creado, debes usar el documento ALTER ENDPOINT para cambiar al estado a started.

! Especificar las limitaciones del protocolo de Internet (IP) para controlar el acceso al endpoint.

! Crear uno o más métodos Web que los usuarios puedan llamar a través del endpoint.

Métodos Web pueden ser procesos almacenados o funciones user-defined.

Luego que un endpoint HTTP ha sido creado, puedes dar, revocar o negar permisos de conexión para controlar el acceso al endpoint.

Replicación

Introducción

La replicación permite copiar y distribuir datos y objetos de las bases de datos, de una base de datos o servidor a otro, y luego opcionalmente sincronizar entre las bases de datos para asegurar consistencia.

Perfeccionamientos de Replicación

La siguiente tabla describe un numero de perfeccionamientos significativos para la replicación en SQL Server 2005.

edu.red

Búsqueda de Full-Text

Introducción

Búsqueda Full-Text permite indexar rápida y flexiblemente consultas keyword-based de datos.

Perfeccionamientos de Búsqueda Full-text

SQL Server 2005 incluye un numero significativo de perfeccionamientos para Búsqueda de full-text, descrito en la siguiente tabla.

edu.red

Perfeccionamientos del Sistema para Administradores

Perfeccionamiento del Sistema

edu.red

Introducción

SQL Server 2005 introduce un numero de perfeccionamientos que impactan en la manera en que el sistema de SQL Server puede ser administrado. Los perfeccionamientos incluyen:

! Soporte de memoria de Dynamic Address Windowing Extensions (AWE)

! Memoria Hot-add

! Afinidad Dinámica de CPU

Memoria Dinámica AWE

Soporte AWE permite 32-bit aplicaciones para direccionar memoria física mas allá de los límites de su memoria virtual configurada. La edición Windows Server 2003 puede soportar el máximo de cantidades mostrados en la siguiente tabla:

edu.red

Se puede configurar SQL Server 2005 para usar AWE, usando la opción de configuración awe enabled. Después podes setear las opciones min server memory y max server memory para que el SQL Server use memoria AWE dinámicamente según lo requerido. El siguiente ejemplo, muestra como usar la memoria AWE:

**************************************************

sp_configure 'show advanced options', 1

RECONFIGURE

GO

sp_configure 'awe enabled', 1

RECONFIGURE

GO

*************************************************

Memoria Hot-add

Cuando se usa la memoria AWE, el SQL Server 2005 también puede sacar provecho del soporte de Windows Server 2003.s para memoria hot-add. Si el hardware del Server soporta memoria hot-add, los administradores pueden agregar memoria física sin reiniciar el servicio SQL Server. El SQL Server usara la memoria física adicional si es requerido.

Para aprovechar las memorias hot-add, el SQL Server debe estar corriendo en Windows Server 2003 Enterprise o la edición Datacenter con la opción configurada awe habilitada.

Afinidad Dinámica de CPU

En SQL Server 2005, puedes reconfigurar la opción affinity mask sin tener que reiniciar el servicio. El SQL Server automáticamente ajusta el numero de CPUs schedulers usadas para juntar las conversaciones.

Perfeccionamiento de Almacenamiento de Datos

SQL Server 2005 introduce un numero de perfeccionamientos de almacenamiento de datos, incluyendo nuevos y mejorados tipos de datos y un tamaño row mayor. Estas mejoras hacen el almacenamiento de datos más eficiente y flexible.

Nuevos y mejorados tipos de datos

El SQL Server 2005 incluye los nuevos y mejores almacenamientos de datos descriptos en la siguiente tabla:

edu.red

Mayor tamaño de Row

En las ediciones previas de SQL Server, el máximo de un row table era 8 KB.

Mientras que este es aun el máximo físico de una pagina, el SQL Server 2005 puede mover el reflujo de datos varchar, nvarchar, varbinary, o sql_variant a otra pagina manteniendo 24-byte puntero en la pagina original, haciendo posible almacenar una row que contenga mas de 8 KB de datos.

Para acomodar el reflujo de esta manera, cada columna en la row debe tener un maximo de 8 KB. Cuando la combinación de todas las columnas es mayor a 8 KB, SQL Server va automáticamente a mover la columna mas larga a una pagina de reflujo.

Nota

El limite 8 KB aplica solo para las columnas varchar, nvarchar, o varbinary definidos sin el max keyword. Cuando el max keyword es usado, los datos son implementados como un gran objeto usando un puntero a las paginas donde los datos estan fisicamente almacenados.

Tablas e Indexes Particionados

edu.red

El SQL Server 2005 da soporte para Tablas e Indexes particionados.

Esto permite a una tabla ser esparcida a través de un numero de Grupos de Archivos físicos, mejorando la performance y haciendo mas fácil administrar los procesos archivados range-based.

Esparcimiento de Table data a través de Grupos de Archivos

Puedes particionar una tabla horizontalmente así los rows son expandidos a través de múltiples Grupos de Archivos. Implemente esta partición para obtener los siguientes resultados:

! Mejorar la performance en sistemas de multiprocesadores

Tablas particionadas puede aumentar la performance cuando estas consultando grandes tablas en un sistema con 8 o mas procesadores. El optimizador de consultas de SQL Server 2005 puede ejecutar consultas sobre múltiples particiones en paralelo, reduciendo el tiempo requerido del proceso.

! Administración mas fácil de grandes tablas.

Una tabla particionada hace la administración mas fácil de data subsets, las cuales se pueden agrupar lógicamente por un rango de datos. por ejemplo:

Un requerimiento común de datos es trabajar solo con los datos del mes en curso. Puedes especificar la columna particionada, numero de particiones y el rango de valores de las columnas particionadas para cada partición.

Un beneficio de particionar es que se pueden mover datos entre las tablas particionadas muy rápido con relación a tener que hacer un INSERT INTO SELECT FROM statement. Esto es porque los datos no están siendo movidos físicamente; solo la metadata concerniente al lugar de almacenamiento es movido.

Snapshot Isolation Level

edu.red

El SQL Server 2005 incluye una nueva transacción de isolation level llamada snapshot. Snapshot isolation permite a los usuarios leer previamente valores de datos usando una

vista consistente transaccionalemente de la base de datos. En este isolation level, los lectores no bloquean otros lectores y escritores que están accediendo al mismo dato.

Similarmente, los escritores no bloquean a los lectores. La operación de escritura en el snapshot isolation level esta basada en un mecanismo de bloqueo con detector de conflicto aumamatico. El mecanismo de detección de conflictos evita que un usuario haga cambios basados en datos que otro usuario haya cambiado.

Como Trabaja Snapshot Isolation

Snapshot isolation esta basado en row versioning, el cual da consistencia de lectura siguiendo una cadena de versiones que contienen las rows comprometidas de datos.

Esta cadena está situada en una version separada de almacenamiento alojada en tempdb. Varias versiones comprometidas de rows individuales de datos son creados durante la ejecución del UPDATE statement y recuperados por la operación SELECT a través de las consultas del snapshot. Las consultas Snapshot son consultas que corren bajo el snapshot isolation que lee los datos de snapshot.

Administración de snapshot isolation

Los Administradores pueden habilitar o no la snapshot isolation en una base de datos poniendo la opcion ALLOW_SNAPSHOT_ISOLATION en ON u OFF en una statement CREATE DATABASE o ALTER DATABASE. El siguiente ejemplo muestra como habilitar la snapshot isolation:

ALTER DATABASE AdventureWorks

SET ALLOW_SNAPSHOT_ISOLATION = ON

Cuando la snapshot isolation esta habilitada, las aplicaciones que quieran usarla deben setear el isolation level transaccional a SNAPSHOT para conectarse, según se indica en el siguiente ejemplo:

SET TRANSACTION ISOLATION LEVEL SNAPSHOT

Statements ejecutados en transacciones luego usaran snapshot isolation.

SQLiMail

SQLiMail es un nuevo sistema en SQL Server 2005. Usa el Standard Simple

Mail Transfer Protocol (SMTP) para enviar un e-mail desde una instancia de SQL Server 2005. Usando SQLiMail, las aplicaciones de base de datos pueden enviar e-mails que contengan resultados de consultas y archivos. SQLiMail esta diseñado para ser un sistema confiable, escalable y seguro para SQL Server. La información en la siguiente tabla describe como SQLiMail implementa estos atributos:

edu.red

Instalar y configurar SQLiMail

Puedes usar el SQLiMail Configuración Wizard para instalar y configurar SQLiMail en una base de datos. Puedes iniciar el asistente desde el SQLiMail en la Management folder de Object Explorer. El asistente junta la información, incluyendo la base de datos a instalar y la información del usuario para crear un perfil SQLiMail.

Usar SQLiMail

Luego de configurar un perfil de mail, puedes llamar el proceso almacenado sendimail_sp para enviar un mail desde el SQL Server. El siguiente ejemplo muestra como enviar SQLiMail usando un perfil llamado SQLServer.

************************************************************************

DECLARE @QueryResult int

SET @QueryResult = (SELECT Count(*) FROM Person.Contact)

EXECUTE sendimail_sp

@profile_name='SQLServer',

@recipients='[email protected]',

@subject='Test',

@body=@QueryResult

************************************************************************

 

 

 

Autor:

Rafael Pampavilca

Modulo 1

Introducción a la arquitectura de SQL Server 2005

? Descripción de SQL Server 2005

? Mejoras para Administradores

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente