MS SQL Server 2012 SP1 para desarrolladores

53
MS SQL Server 2012 SP1 para desarrolladores

description

Bosquejo general sobre los tópicos relevantes de las nuevas características de MS SQL Server 2012 SP1 enfocado a desarrolladores .NET

Transcript of MS SQL Server 2012 SP1 para desarrolladores

Page 1: MS SQL Server 2012 SP1 para desarrolladores

MS SQL Server 2012 SP1para desarrolladores

Page 2: MS SQL Server 2012 SP1 para desarrolladores

MS SQL Server 2012 SP1para desarrolladoresJosé Redondo

RM PASS Latam | Chapter Leader SQL PASS Venezuela | DPA SolidQ | SQL Server MVP

Correo: [email protected] | Twitter: @redondoj | Blog: redondoj.wordpress.com

Page 3: MS SQL Server 2012 SP1 para desarrolladores

AGENDA

• Business Intelligence Development Studio | SQL Server Data Tools• SQL Server Express LocalDB• Mejoras en T-SQL• Índice de Almacenamiento Columnar (ColumnStore

Index)• Novedades en Extented Events• Certificaciones en MS SQL Server 2012

Page 4: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

Page 5: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

• Anteriormente conocido como SQL Server Developer Tools, Código "Juneau".• SQL Server Data Tools "SSDT" es una evolución del

Visual Studio for Database Professionals ("Data Dude").• Herramienta de desarrollo para SQL Server y SQL Azure

Database Developer.• Puede ser independientemente instalado (Standalone) o

se puede integrar en una instalación existente de Visual Studio 2010 y superior (Edición Profesional en adelante).

Page 6: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

Características• Targets SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 y

SQL Azure

• Migrar esquemas de ON-Premise SQL Server en la nube en SQL Azure

• Desarrollo SQL CLR

• Modelo de desarrollo desconectado enriquecido (Basado en proyecto)• Análisis de código

• Seguimiento de dependencias de objetos

• Refactoring

• IntelliSense

• Modelo conectado

• Modelo Data-Tier Application (DAC Fx)• Generación de script es posible

Page 7: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

PLATAFORMA DIRIGIDA A

• Proyecto unitario puede tener como objetivo múltiples plataformas• Versiones del servidor SQL

• SQL Azure

• Desarrollar proyecto que proporcionen Control de Errores y Adventicias (Warning)• Especificar escenarios de acción

• No es necesario crear y ejecutar secuencias de comandos para encontrar issues

Page 8: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

Page 9: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

Soporte nativo SQL CLR en SQL Server Data Tools

• SSDT soporta agregando objetos CLR de SQL para proyectos de base de datos• No necesita crear proyectos separado de SQL CLR• C# y VB• Depuración sin problemas y despliegue sencillo• Ventana de propiedades del SQL CLR en los proyectos de base

de datos• Proyectos separados son soportados todavía

Page 10: MS SQL Server 2012 SP1 para desarrolladores

Business Intelligence Development Studio | SQL Server Data Tools

DEMO

Page 11: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

Page 12: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

Edición de SQL Server dirigido a los desarrolladores• Modo usuario, en ejecución de procesos

• Instalación en la configuración nula

• Motor de base de datos para embeber en aplicaciones trasparentemente

• Mínimos pre-requisitos

• Son mínimos los archivos copiados durante la implementación

• Diseñado para su uso en múltiples entornos

Page 13: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

Edición de SQL Server dirigido a los desarrolladores• Utilizada como una plataforma de prueba para desarrolladores

• Base de datos de embebida para aplicaciones de producción

• Utilidad para la gestión SQLLocalDB.exe

• Remplaza el uso de instancias de usuario soportada en SQL Express

• Instancia de usuario de SQL Express en desuso desde SQL Server 2008

• Suporte de AttachDBFileName en la cadena de conexión

• Especifica la ubicación y direccionamiento de los archivos de base de datos

Page 14: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

• Similar a trabajar con otras ediciones• El mismo ejecutable SQLServr.exe• El mismo proveedor client-side• El mismo T-SQL

• Instalada una por versión y por máquina• Las aplicaciones se ejecutan desde sus propias copias de ejecución

• No hay servicios SQL instalados• Procesos de iniciado/detenido se establecen automáticamente según sea

necesario• Las aplicaciones se conectan a través de "Data Source=(localdb)/v11.0"• LocalDB es ejecutado como un proceso secundario de la aplicación• El proceso de LocalDB se apaga unos minutos después de la última conexión

Page 15: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

CaracterísticasSQL Server Compact 3.5 SP2

SQL Server Compact

4.0

SQL Server Express

2012

SQL Server 2012

LocalDB

Despliegue / Características de instalación

Tamaño de la instalación

2.5 MB tamaño descarga 12 MB expandido en disco

2.5 MB tamaño descarga 18 MB expandido en disco

120 MB tamaño descarga > 300 MB expandido en disco

32 MB tamaño descarga > 160 MB en disco

Desplegando en solo Click Si Si Si SiInstalación en segundo plano, embebida con la aplicación a instalar

Si Si No No

Soporte para 64-bit Si Si Si Si

Se ejecuta como un servicioNo - En proceso con la app

No - En proceso con la app

Si

No - Es ejecutado como un proceso

Page 16: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

CaracterísticasSQL Server

Compact 3.5 SP2

SQL Server Compact 4.0

SQL Server Express

2012

SQL Server 2012

LocalDB

Características de los archivos de datosFormato de archivo Un archivo Un archivo Multiples archivos Multiples archivosAlmacenamiento de archivos de datos en una red compartida

No No No No

Soporte para diferentes extensiones de archivos

Si Si No No

Soporte para el tamaño de bases de datos

4GB 4GB 10GB 10GB

Almacenamiento XMLSi - Almacenamiento como Ntext

Si - Almacenamiento como Ntext

Si Si

Almacenamiento Binario (BLOB )Si - Almacenamiento como Image

Si - Almacenamiento como Image

Si Si

Soporte para FILESTREAM No No Si No

Page 17: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

CaracterísticasSQL Server

Compact 3.5 SP2

SQL Server Compact 4.0

SQL Server Express

2012

SQL Server 2012

LocalDB

Programabilidad

T-SQL Procedual - Select Case - If - Características

No No Si Si

Transacciones simples Si Si Si Si

Transacciones distribuidas No No Si Si

XML nativo, Xquery/Xpath No No Si Si

Procedimientos Almacenados, Vistas, Desencadenadores

No No Si Si

Seguridad basada en roles No No Si Si

Número de conexiones concurrentes

256 (100) 256 IlimitadasIlimitadas (Pero solamente local)

Page 18: MS SQL Server 2012 SP1 para desarrolladores

SQL Server Express LocalDB

DEMO

Page 19: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Page 20: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

• Paginación en Consultas | Datos• Clausula OVER sobre Lotes de Datos• Secuencias de Objetos• Administrar Metadata• Administrar Errores• Mejoras en la Librería de Funciones Lógicas y de Cadenas• Conversión de Funciones• Funciones de Fechas y Tiempo• Service Broker mejorado• Funciones Analíticas LEAD() y LAG()

Page 21: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Paginación en Consultas | Datos• Una de las características más usadas en las aplicaciones

• Mas de una aplicación implementan paginación a nivel de aplicaciones (No a nivel de Base de Datos)

• Actualmente nivel de paginación para Bases de Datos• Retorna datos utilizando el comando Función ROW_NUMBER()• Tablas Temporales• Otras opciones…

• SQL Server 2012 simplifica el trabajo de paginación con:• Necesidad de establecer el comandos de desplazamiento de datos

• El número de registros que requiere para ser desplazado es usado por el comando FETCH

Page 22: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Paginación en Consultas | DatosSintaxis

Ejemplo

Page 23: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Clausula OVER sobre Lotes de Datos

Page 24: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Clausula OVER sobre Lotes de Datos

Page 25: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Secuencias de Objetos• Un usuario define un objeto que retorna una secuencia

numérica de valores• Objeto similar se encuentra en Oracle• Es uno en la base de datos, no solamente en la tabla

(Atención: No es una columna IDENTITY)• Puede ser usado en cualquier lugar de la base de datos, sin

necesidad de especificar una tabla • Punto negativo: No admite transacción

Page 26: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Page 27: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Administrar Metadata• Antes lo hacíamos con la sentencia "SET FMTONLY ON", que se utiliza para

devolver los metadatos sólo (No los datos reales)

• Es muy útil en escenarios donde no podemos predecir el conjunto de resultados.

• Breaking News:• Dos nuevos Procedimientos Almacenados del sistema y su equivalente DMV es introducido

en 2012• Procedimientos almacenados

• sp_describe_first_result_set

• sp_describe_undeclared_parameters

• Funciones del sistema

• Sys.dm_exec_describe_first_result_set

• Sys.dm_exec_describe_first_result_set_for_object

Page 28: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Administrar Metadata

Page 29: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Administrar Errores• SQL Server 2005 introdujo la sentencia TRY/CATCH (Pero aún

le falta mucho por hacerse a un nombre. Esa ayuda llego con THROW)• El error emitido por el sistema a través de esta sentencia se

enviaba al cliente PERO era necesario utilizar el comando RAISEERROR para utilizar el resultado• THROW se añade al lenguaje T-SQL en 2012 (Es similar como

en Visual C#.NET o Visual Basic.NET)• Ahora, no es necesario generar una entrada en la tabla

SYS.MESSAGES• La excepción original es enviada al cliente directamente

Page 30: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Mejoras en la Librería de Funciones Lógicas y de Cadenas• IIF

• Toma una expresión booleana y devuelve uno de los dos valores dados

• Abreviatura de la expresión CASE

• Puede ser anidado hasta 10 niveles

• CHOOSE• Devuelve un valor de la lista basándose en el índice proporcionado

• Si no se encuentra a continuación, devuelve NULL

• Tipo de datos se devuelve basado en la prioridad

• FORMAT• Función FORMAT para establecer el formato de Fecha/Hora y valores numéricos como cadenas de caracteres

• CONCAT• Concatena dos o más cadenas

Page 31: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Conversión de Funciones• PARSE

• Analizar una cadena y trata de convertirla en un tipo de datos proporcionado

• Utiliza el CLR de .NET• Genera un error si no es capaz de convertirlo

• TRY_PARSE• Similar a PARSE pero devuelve NULL si no se puede analizar• También utiliza el CLR de .NET

• TRY_CONVERT• Similar a CONVERT pero devuelve NULL si no se puede analizar

Page 32: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Funciones de Fechas y Tiempo• EOMONTH (Fecha_Inicial)• DATEFROMPARTS (Año, Mes, Día)• DATETIME2FROMPARTS (Año, Mes, Día, Hora, Minutos,

Segundos, Fracciones, Precisión)• DATETIMEFROMPARTS (Año, Mes, Día, Hora, Minutos,

Segundos, Milisegundos)• DATETIMEOFFSETFROMPARTS (Año, Mes, Día, Hora, Minutos,

Segundos, Fracciones, Hour_Offset, Minute_Offset, Precisión)• SMALLDATETIMEFROMPARTS (Año, Mes, Día, Hora, Minutos)• TIMEFROMPARTS (Horas, Minutos, Segundos, Fracciones,

Precisión)

Page 33: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Service Broker mejorado• Nuevos Bells y Whistles• Mensajes Multicast• Nueva Columna en los resultados del servicio:

message_enqueue_time• La vista del sistema: sys.service_queues

Page 34: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

Funciones Analíticas LAG() y LEAD()• LAG() – Acceso a los datos de la fila anterior del mismo resultado sin unirse a uno

• Parameters

• Scalar_Expression

• Offset

• Default

• Over([partition_by_clause] order_by_clause)

• LEAD() - Acceso a los datos en la fila posterior desde el mismo resultado• Scalar_Expression

• Offset

• Default

• Over([partition_by_clause] order_by_clause)

Page 35: MS SQL Server 2012 SP1 para desarrolladores

Mejoras en T-SQL

DEMO

Page 36: MS SQL Server 2012 SP1 para desarrolladores

Índice de Almacenamiento Columnar (ColumnStore Index)

Page 37: MS SQL Server 2012 SP1 para desarrolladores

Índice de Almacenamiento Columnar (ColumnStore Index)• Páginas de columnas de almacenamiento de datos y Columnas son

fuertemente comprimidas

• Elimina redundancia y provee búsquedas más rápida

Limitaciones• 1 tabla puede tener solamente un solo índice de ColumnStore

• Después de crear el ColumnStore no se puede actualizar la tabla de índice (En 2014 permitirá actualizar el índice)

Column 1 Column 1 Column 4 Column 4

Page 1 Page 2

Page 38: MS SQL Server 2012 SP1 para desarrolladores

Índice de Almacenamiento Columnar (ColumnStore Index)Almacenamiento de registro• Los datos relacionales se almacenan a modo de fila que aún

se almacena en la página con el tamaño de página de 8 KB en HardDisk como

Almacén de filaColumn 1 Column 2 Column 3 Column 4 Column 5 Column 1 Column 2 Column 3 Column 4 Column 5

Pagina 1 Pagina 2

Column 1

Valida varias filas para ir a buscar los datos

Page 39: MS SQL Server 2012 SP1 para desarrolladores

Índice de Almacenamiento Columnar (ColumnStore Index)

DEMO

Page 40: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

Page 41: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

• Un sistema de Event-Handling para sistemas de servidores• Estos permiten definir eventos para ser monitoreados,

proveyendo una variedad de vías para consumirlos• Estas pueden ser sincrónicas y asincrónicas• Pueden ser accionados desde desencadenadores cuando un

evento se genera• Utiliza predicados para filtrar eventos desde el cliente• Es escalable y de alto desempeño• El costo de ejecución para un sencillo evento es

extremadamente pequeño

Page 42: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

Que hay de nuevo• SSMS provee soporte nativo para los Extented Events bajo el

folder Management en el Explorador de Objetos• NumberOfEventsMonitored += cientos (Comparado con 2008

Y 2008 r2)• Soporte para Management API for .NET Extended Events

Page 43: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

Ejemplo

Page 44: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

Ejemplo

Page 45: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

Ejemplo

Page 46: MS SQL Server 2012 SP1 para desarrolladores

Novedades en Extented Events

DEMO

Page 47: MS SQL Server 2012 SP1 para desarrolladores

Certificaciones en MS SQL Server 2012

Page 48: MS SQL Server 2012 SP1 para desarrolladores

Certificaciones en MS SQL Server 2012• MCSA - Microsoft Certified Solutions Associate• MCSE - Microsoft Certified Solutions Expert• MCSD - Microsoft Certified Solutions Developer• MTA - Microsoft Technology Associate• MCSM – Microsoft Certified Solutions Master

Page 49: MS SQL Server 2012 SP1 para desarrolladores

Preguntas & Respuestas

Page 50: MS SQL Server 2012 SP1 para desarrolladores

Sitio web:http://venezuela.sqlpass.org/

Facebook: https://www.facebook.com/

sqlpassvzlaTwitter:

https://twitter.com/sqlpassve

Page 51: MS SQL Server 2012 SP1 para desarrolladores
Page 52: MS SQL Server 2012 SP1 para desarrolladores

MS SQL Server 2012 SP1para desarrolladoresJosé Redondo

RM PASS Latam | Chapter Leader SQL PASS Venezuela | DPA SolidQ | SQL Server MVP

Correo: [email protected] | Twitter: @redondoj | Blog: redondoj.wordpress.com

Page 53: MS SQL Server 2012 SP1 para desarrolladores

Muchas gracias por su participación