La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Novedades de SQL Server 2008. Temario Ediciones Mejoras realizadas Nuevos Tipos de Datos Nuevas características.

Presentaciones similares


Presentación del tema: "Novedades de SQL Server 2008. Temario Ediciones Mejoras realizadas Nuevos Tipos de Datos Nuevas características."— Transcripción de la presentación:

1 Novedades de SQL Server 2008

2 Temario Ediciones Mejoras realizadas Nuevos Tipos de Datos Nuevas características

3 Ediciones

4 Ediciones ENTERPRISE (SQL Server 2008 Enterprise Edition es una plataforma de datos que responde a las necesidades de alta disponibilidad y procesamiento para aplicativos críticos del negocio y aplicaciones de bodegas de datos.) STANDARD (SQL Server 2008 Standard es una plataforma de datos que responde a las necesidades departamentales y, a mediana escala de aplicativos, relaciones como de inteligencia de negocios.) WORKGROUP (SQL Server 2008 Workgroup está diseñada para aplicativos en ambientes tipo sucursales, con necesidades de reportes y replicación de datos.) COMPACT (SQL Server 2008 Compact sirve para construir aplicativos stand-alone y ocasionalmente conectados para dispositivos móviles.) GRATIS DEVELOPER (Ideal para que los desarrolladores puedan diseñar, desarrollar y probar sus aplicativos. ) EXPRESS (SQL Server Express es ideal como primer nivel de aprendizaje y para construir pequeños aplicativos de escritorio.) Un solo procesador, 1 GB de RAM y 4 GB máximo de la base de datos- GRATIS

5 Mejoras realizadas

6 Analysis Services 2008  Diseñador de Relaciones de Atributos  Mejoras en el Dimension Wizard  Nuevo Key Column Dialog  Cubos Write Back sobre estructuras MOLAP  Backup/Restore más rápidos y sin límites de cantidad ni tamaño del archivos.  Dataminig: Nuevo Algoritmo de Serie de Tiempo basado en el algoritmo ARIMA (se mantiene el anterior algoritmos ARTxp).

7 Reporting Services 2008  Nuevo Diseñador de Reportes  Nueva Región de Datos: Tablix  Soporte a fuentes de datos: Hyperion System 9.3 BI+ Enterprise Analytics y Oracle 9.2.0.3 o posteriores.  Rendering a Windows Form, Web Form, Word y mejoras en el Rendering Excel  Mejor integración con Windows Sharepoint Services 3.0 y Microsoft Office Sharepoint Server 2007  HTTP Server Embebido (ya no requiere IIS)

8 Integration Services 2008  Soporte a nuevos tipos de datos: DT_DBTIME2, DT_DBTIMESTAMP2, DT_DBTIMESTAMPOFFSET a través del Data Conversion y Derived Column.  Soporte para DTS Sql Server 2000.  Incorpora nueva tecnología Change Data Capture(ej: auditoria).  Mejoras en el Bulk Insert al insertar data ordenada.  Uso del Merge para multiples DML, que permite múltiples Insert, Delete, Update en una sola sentencia.

9 Nuevos Tipos de Datos

10  Date El tipo de datos date almacena una fecha sin un componente de hora. El intervalo comprende desde el 1 de enero, 0001 hasta el 31 de diciembre, 9999 (01-01-0001 a 31-12-9999). Todas las variables date requieren 3 bytes de almacenamiento y tienen una precisión de 10 dígitos. La precisión del tipo date se limita a un único día. DECLARE @myDate1 date = '01/22/2005' DECLARE @myDate2 date DECLARE @myDate3 date = GetDate() SELECT @myDate2 = '2007-05-08 12:35:29.1234567 +12:15' SELECT @myDate1 AS '@myDate1', @myDate2 AS '@myDate2', @myDate3 AS '@myDate3' --Results – @myDate1 @myDate2 @myDate3 ------------- ------------- ------------- 2005-01-22 2007-05-08 2007-11-20

11  Time El tipo de datos time almacena la hora del día sin ningún componente de fecha. Se basa en un reloj de 24 horas, por lo que el intervalo admitido abarca de 00:00:00.0000000 a 23:59:59.9999999 (horas, minutos, segundos y fracciones de segundo). Puede especificar una precisión de fracciones de segundo al crear el tipo de datos. La precisión predeterminada es 7 dígitos; la precisión es 100ns. La precisión afecta al espacio de almacenamiento necesario, que varía desde 3 bytes hasta 2 dígitos; 4 bytes para 3 o 4 dígitos y hasta 5 bytes de 5 a 7 dígitos. DECLARE @myTime time = '01:01:01.1234567 +01:01' DECLARE @myTime1 time(1) = '01:01:01.1234567 +01:01' DECLARE @myTime2 time(2) = '01:01:01.1234567 +01:01' DECLARE @myTime3 time(3) = '01:01:01.1234567 +01:01' DECLARE @myTime4 time(4) = '01:01:01.1234567 +01:01' SELECT @myTime AS '@myTime', @myTime1 AS '@myTime1', @myTime2 AS '@myTime2', @myTime3 AS '@myTime3', @myTime4 AS '@myTime4' --Results – @myTime @myTime1@myTime2 @myTime3 @myTime4 ------------------ --------------------- ------------ ------------- -- 01:01:01.1234567 01:01:01.1 01:01:01.12 01:01:01.123 01:01:01.1235

12  Datetimeoffset y Datetime2 El tipo de datos “Datetimeoffset” proporciona reconocimiento de zonas horarias. El tipo de datos time no contiene una zona horaria por lo que sólo funciona en hora local. En la economía global, sin embargo, a menudo es necesario saber cómo se relacionan las distintas zonas horarias entre sí. El desplazamiento de zona horaria se indica como + o - hh:mm. Define una fecha que se combina con una hora de día basada en el reloj de 24 horas. “Datetime2”, puede considerarse una extensión del tipo datetime existente que tiene un intervalo de fechas mayor, un valor predeterminado mayor de precisión fraccionaria y precisión especificada por el usuario opcional. El intervalo de fechas desde 0001-01-01 a 9999-12-31(Del 1 de enero del año 1 después de Cristo al 31 de diciembre de 9999) y el intervalo de horas desde 00:00:00 a 23:59:59.9999999. “Datetime2”, puede considerarse una extensión del tipo datetime existente que tiene un intervalo de fechas mayor, un valor predeterminado mayor de precisión fraccionaria y precisión especificada por el usuario opcional. El intervalo de fechas desde 0001-01-01 a 9999-12-31(Del 1 de enero del año 1 después de Cristo al 31 de diciembre de 9999) y el intervalo de horas desde 00:00:00 a 23:59:59.9999999. DECLARE @datetime2 DATETIME2 = GetDate(); PRINT @datetime2 --Results – 2007-11-26 09:39:04.1370000

13  Tabla comparativa

14  HierarchyID El tipo de datos hierarchyid le permite construir relaciones entre los elementos de datos de una tabla, sobre todo para representar una posición en una jerarquía. GetAncestor, recibe un entero que permite buscar el ancestro n de un nodo hijo. GetDescendant, devuelve un nodo hijo que es descendiente de su padre. GetLevel, indica el nivel del nodo corriente GetRoot, devuelve el nodo raíz del árbol jerárquico IsDescendant, devuelve verdadero o falso dependiendo de si el nodo es un descendiente de su padre Parse, convierte una representación de texto canónica en un HiearchyID Read, interpreta una representación binaria de un HiearchyID Reparent, permite asignar un nuevo padre a un nodo hijo ToString, devuelve una cadena de texto que representa un HierarchyID Write, escribe un HiearchyId en un binario Funciones soportadas:

15  Datos Espaciales Los datos espaciales son datos que identifican ubicaciones y formas geográficas, principalmente en la Tierra. Éstas ubicaciones pueden ser lugares de referencia, carreteras o incluso empresas. SQL Server 2008 proporciona los tipos de datos geography y geometry para trabajar con estos tipos de datos. DECLARE @gm geometry; DECLARE @gg geography; DECLARE @h geography; SET @gm = geometry::STGeomFromText('POLYGON((0 0, 13 0, 3 3, 0 13, 0 0),(2 2, 2 1, 1 1, 1 2, 2 2))', 0); SELECT @gm.STArea(); --Results– 38

16  Datos Geométrico Almacene polígonos, puntos y líneas asociados con superficies planas proyectadas y datos de planos, como espacios interiores. Almacene polígonos, puntos y líneas asociados con superficies planas proyectadas y datos de planos, como espacios interiores. DECLARE @geo1 geometry SELECT @geo1 = geometry::STGeomFromText('POINT (3 4)', 0) PRINT @geo1.ToString() DECLARE @geo2 geometry SELECT @geo2 = geometry::Parse('POINT(3 4 7 2.5)') PRINT @geo2.STX; PRINT @geo2.STY; PRINT @geo2.Z; PRINT @geo2.M; DECLARE @geo3 geography; SELECT @geo3 = geography::STGeomFromText( 'LINESTRING(47.656 -122.360, 47.656 -122.343)', 4326); SELECT @geo3.ToString(); --Results – POINT (3 4) 3 4 7 2.5

17  FILESTREAM Permite que grandes datos binarios se almacenen directamente en un sistema de archivos NTFS mientras usted preserva una parte integral de la base de datos y mantiene una consistencia transaccional. CREATE DATABASE [Prueba] ON PRIMARY ( NAME = N'PruebaData', FILENAME = N'C:\Temp\PruebaData.mdf', SIZE = 3072KB, FILEGROWTH = 1024KB), FILEGROUP [FilestreamGroup] CONTAINS FILESTREAM ( NAME = N'PruebaFilestream', FILENAME = N'C:\Temp\PruebaFilestream') LOG ON ( NAME = N'PruebaLog', FILENAME = N'C:\Temp\PruebaLog.ldf', SIZE = 1024KB, FILEGROWTH = 10%); CREATE TABLE LaTabla ( IdTabla UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL PRIMARY KEY, Descripción NVARCHAR(50) NOT NULL, Foto VARBINARY(MAX) FILESTREAM NOT NULL ); INSERT INTO LaTabla VALUES (NEWID(), 'Registro 1', CAST('Ejemplo 1' AS VARBINARY(MAX)));

18  Parámetros del tipo Tabla Existe un nuevo tipo de parámetro en SQL Server 2008 del tipo Tabla, el cual puede ser declarado como tipo de una tabla previamente definida. Este parámetro puede ser utilizado para enviar varias filas de información a una sentencia T-SQL o rutina. Los parámetros del tipo tabla vienen a suplir la comúnmente usada técnica de creación de tablas temporales, agregando las siguientes ventajas: Son fuertemente tipificadas Son fuertemente tipificadas Se puede especificar un ordenamiento y clave única Se puede especificar un ordenamiento y clave única Reduce las llamadas al servidor Reduce las llamadas al servidor Evita la re compilación de la sentencia Evita la re compilación de la sentencia No necesita de un bloqueo desde el cliente para inicializar los valores de la tabla. No necesita de un bloqueo desde el cliente para inicializar los valores de la tabla. CREATE TYPE dbo.TEmpleado AS TABLE ( ID_CLIENTE INT, APELLIDO INT, NOMBRE VARCHAR(100) PRIMARY KEY(ID_CLIENTE) ) GO DECLARE @Empleado AS dbo.TEmpleado INSERT @Empleado SELECT TOP 10 ID_CLIENTE, APELLIDO, NOMBRE FROM Empleado SELECT * FROM @Empleado GO

19 Nuevas Características

20  Proteja Información Valiosa Encripte toda una base de datos, archivos de datos o archivos log, sin necesidad de realizar cambios en las aplicaciones. Los beneficios de esta novedad incluyen la posibilidad de buscar datos encriptados a partir de una búsqueda por rango o aleatoria, la posibilidad de buscar datos seguros entre usuarios no autorizados, y la posibilidad de encriptar datos sin necesidad de realizar cambios en las aplicaciones existentes. USE master; GO CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'pa$$@word1'; GO CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'Mi Certificado DEK' GO USE AdventureWorksLT GO CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE MyServerCert GO ALTER DATABASE AdventureWorksLT SET ENCRYPTION ON GO

21  Inicialización, Asignación compuesta de variables en linea. Una pequeña mejora introduce SQL Server 2008 al lenguaje T-SQL respecto de la inicialización y asignación de variables. Cuántas veces hemos deseado escribir código de la siguiente manera: DECLARE @fecha datetime = getdate(), @edad int = 36, @nombre varchar(100) = 'carlos'; -- Incremento i, agrego algo al nombre.... SELECT @edad += 1, @nombre += ' walzer'; -- Muestro los valores... SELECT @edad, @nombre; += (add, assign) -= (subtract, assign) *= (multiply, assign) /= (divide, assign) |= (bitwise |, assign) ^= (bitwise exclusive OR, assign) &= (bitwise &, assign) %= (modulo, assign)

22  Agregar multiples filas en el mismo INSERT CREATE TABLE Degree ( DegreeID int NOT NULL IDENTITY(1,1) PRIMARY KEY, DegreeNM varchar(30) NOT NULL, DegreeCD varchar(5) NOT NULL, ModifiedDate datetime NOT NULL ) GO INSERT Degree (DegreeNM, DegreeCD, ModifiedDate) VALUES ('Bachelor of Arts', 'B.A.', GETDATE()), ('Bachelor of Science', 'B.S.', GETDATE()), ('Master of Arts', 'M.A.', GETDATE()), ('Master of Science', 'M.S.', GETDATE()), ('Associate''s Degree', 'A.A.', GETDATE()) GO

23  Usando VALUES como tabla de origen SELECT DegreeNM, DegreeCD, ModifiedDT FROM (VALUES ('Bachelor of Arts', 'B.A.', GETDATE()), ('Bachelor of Science', 'B.S.', GETDATE()), ('Master of Arts', 'M.A.', GETDATE()), ('Master of Science', 'M.S.', GETDATE()), ('Associate''s Degree', 'A.A.', GETDATE())) Degree (DegreeNM, DegreeCD, ModifiedDT)

24  TOP en DELETE, INSERT y UPDATE DELETE TOP (2.5) PERCENT FROM TablaTemporal GO DELETE TOP (100) FROM TablaTemporal WHERE Estado = 1 GO INSERT TOP (2) INTO Tabla2 (ColumnaB) SELECT ColumnaA FROM Tabla1 ORDER BY ColumnaA GO UPDATE TOP (10) Tabla1 SET Columna1 *= 1.25 GO

25  Mejora en el espejado de bases de datos añadiendo las siguientes funcionalidades: Recuperación automática de página: cuando uno de los miembros (principal o espejo) detecta una página errónea (prácticamente todo tipo de páginas con la excepción de páginas de “sistema”), el motor de SQL Server solicita al otro participante la página para reemplazarla por la errónea. Esta operación se realiza de forma asíncrona, y la base de datos podrá atender peticiones de las aplicaciones cliente, mientras “restaura” la página defectuosa. Compresión del registro de transacciones: para hacer un uso más eficiente de la red, el motor de SQL Server comprime la información a transmitir antes de enviarla por la red. Cuando el espejo recibe la información, deberá descomprimir la información. Este proceso, tiene un leve coste de CPU, pero grandes beneficios en la transmisión por la red, sobre todo para escenarios de ancho de banda reducido. Mejoras en monitoreo: SQL Server 2008 incorpora nuevas vistas de administración, y nuevos contadores de rendimiento para poder monitorear de forma más precisa las latencias asociadas en cada paso del proceso de trasvase de transacciones entre los espejo. Adicionalmente, aparecen contadores nuevos relacionados con la tasa de compresión del registro de transacciones.

26  Compresión de Backup SQL Server 2008 proporciona diferentes características de compresión, a nivel de fila y a nivel de página, que reducen el tamaño ocupado por los datos. Del mismo modo, también se introduce la compresión de las copias de seguridad, algo a lo que le podremos sacar provecho en grandes DataWarehouses. Mantener los backups de discos online es caro y consume mucho tiempo. Con la compresión de backup de SQL Server 2008, se necesita menos capacidad de almacenamiento para tener backups online y para que estos backups se ejecuten significativamente rápido ya que se necesita menos disco I/O. BACKUP DATABASE [AdventureWorks2008] TO DISK = N'C:\Backups\20080528-1612_AdventureWorks2008.bak' WITH COMPRESSION, NOFORMAT, NOINIT, NAME = N'AdventureWorks2008-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10; GO Nota: con WITH NO_COMPRESSION si no deseamos que se comprima.

27  MERGE SQL Statement Con la presentación de MERGE SQL Statement, los desarrolladores pueden manejar de una manera más efectiva las distintas situaciones relacionadas con el almacenamiento de datos, por ejemplo verificar si una fila existe y luego ejecutar una inserción o actualización. [ WITH [,...n] ] MERGE [ TOP ( BLOCKED EXPRESSION [ PERCENT ] ] [ INTO ] target_table [ [ AS ] table_alias ] [ WITH ( ) ] USING ON [ WHEN MATCHED [ AND ] THEN ] [ WHEN [TARGET] NOT MATCHED [ AND ] THEN ] [ WHEN SOURCE NOT MATCHED [ AND ] THEN ]

28  MERGE SQL Statement MERGE INTO Tabla1 T1 USING Tabla2 T2 ON (T1.C1 = T2.C1) AND (T2.C1 = T2.C1) AND (T1.C1 = T2.C1) WHEN NOT MATCHED THEN INSERT VALUES(T2.C1, T2.C2, T2.C3); GO MERGE

29  Change Data Capture (Auditoria) Change Data Capture, nos permite capturar los cambios realizados sobre determinadas tablas de nuestra base de datos, y nos permite accede a ellos en un formato relacional, que facilita su explotación. Una vez hayamos activado Change Data Tracking a nivel de base de datos, y hayamos seleccionado las tablas que deseamos monitorizar, el proceso de captura extrae del log de transacciones los cambios (inserciones, actualizaciones y borrados) sobre esas tablas y los inserta en las tablas asociadas, que después podremos consultar a través de determinadas funciones que se encargan de proporcionar unos datos formateados. Change Data Capture, nos permite capturar los cambios realizados sobre determinadas tablas de nuestra base de datos, y nos permite accede a ellos en un formato relacional, que facilita su explotación. Una vez hayamos activado Change Data Tracking a nivel de base de datos, y hayamos seleccionado las tablas que deseamos monitorizar, el proceso de captura extrae del log de transacciones los cambios (inserciones, actualizaciones y borrados) sobre esas tablas y los inserta en las tablas asociadas, que después podremos consultar a través de determinadas funciones que se encargan de proporcionar unos datos formateados. EXEC sys.sp_cdc_enable_db GO CREATE TABLE dbo.Empleado( ID_Empleado int Primary Key NOT NULL, NombreEmpleado nvarchar(100) NOT NULL, EmailEmpleado nvarchar(100) NOT NULL) GO EXEC sys.sp_cdc_enable_table 'dbo', 'Empleado', @role_name = NULL, @supports_net_changes =1 GO Nota: Solo disponible en Enterprise, Developer

30  Resource Governor La idea detrás del Resource Governor es poder controlar consultas determinadas y poder adjudicarles una cantidad específica de recursos. Para lograrlo, todas las conexiones que se realizan contra el SQL Server pasan por un clasificador, que se encarga de asignar un grupo a cada sesión en base a una función de clasificación. A estos grupos les podemos asignar un pool, que se encarga de otorgar y limitar los recursos (CPU y memoria). CREATE RESOURCE POOL poolSqlCmd WITH (MAX_CPU_PERCENT=10, MAX_MEMORY_PERCENT=5); CREATE WORKLOAD GROUP groupLimitado WITH ( IMPORTANCE=MEDIUM, REQUEST_MAX_MEMORY_GRANT_PERCENT=75, /* cant.máxima de memoria que una única solicitud puede tomar del grupo.*/ REQUEST_MAX_CPU_TIME_SEC=600, /* cant.máxima de tiempo de CPU, en segundos, que puede usar una solicitud. */ MAX_DOP=4, /* Especifica el grado máximo de paralelismo (DOP) para las solicitudes paralelas */ GROUP_MAX_REQUESTS=10 /* máximo de solicitudes simultáneas que pueden ejecutarse en el grupo de cargas de trabajo */ ) USING poolSqlCmd; CREATE FUNCTION fnuClasificador() RETURNS SYSNAME WITH SCHEMABINDING AS BEGIN DECLARE @grupo SYSNAME IF (APP_NAME() LIKE 'SQLCMD') SET @grupo= 'groupLimitado' ELSE SET @grupo= 'default' RETURN @grupo END; ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.fnuClasificador); ALTER RESOURCE GOVERNOR RECONFIGURE; Escenario: Queremos limitar las consultas que vengan desde el SqlCmd, de modo que en tal caso obtengan un máximo de un 10% de CPU y un 5% de memoria del sistema. El resto de consultas no deben verse afectadas.SqlCmd

31  Características Obsoletas CategoryDeprecated featureReplacementFeature name Backup and Restore RESTORE { DATABASE | LOG } … WITH DBO_ONLY RESTORE { DATABASE | LOG } … … WITH RESTRICTED_USER RESTORE DATABASE or LOG WITH DBO_ONLY Backup and restore RESTORE { DATABASE | LOG } WITH PASSWORD None RESTORE DATABASE or LOG WITH PASSWORD Backup and restore RESTORE { DATABASE | LOG } WITH MEDIAPASSWORD None RESTORE DATABASE or LOG WITH MEDIAPASSWORD Compatibility levels 80 compatibility level and upgrade from version 80. Compatibility levels are only available for the last two versions. For more information about compatibility levels, see ALTER DATABASE Compatibility Level (Transact-SQL). Database compatibility level 80 Database optionssp_dboptionALTER DATABASEsp_dboption SET options SET ROWCOUNT for INSERT, UPDATE, and DELETE statements TOP keywordSET ROWCOUNT Transact-SQL syntaxUse of *= and =* Use ANSI join syntax. For more information, see FROM (Transact-SQL). Non-ANSI *= or =* outer join operators

32 ¿Preguntas?

33 http://www.microsoft.com/sqlserver/2008/en/us/default.aspx http://wiki/index.php/SQL_SERVER_2008 ¡Gracias!


Descargar ppt "Novedades de SQL Server 2008. Temario Ediciones Mejoras realizadas Nuevos Tipos de Datos Nuevas características."

Presentaciones similares


Anuncios Google