MS SQL Server 2012 SP1para 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
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
Business Intelligence Development Studio | SQL Server Data Tools
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).
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
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
Business Intelligence Development Studio | SQL Server Data Tools
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
Business Intelligence Development Studio | SQL Server Data Tools
DEMO
SQL Server Express LocalDB
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
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
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
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
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
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)
SQL Server Express LocalDB
DEMO
Mejoras en T-SQL
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()
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
Mejoras en T-SQL
Paginación en Consultas | DatosSintaxis
Ejemplo
Mejoras en T-SQL
Clausula OVER sobre Lotes de Datos
Mejoras en T-SQL
Clausula OVER sobre Lotes de Datos
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
Mejoras en T-SQL
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
Mejoras en T-SQL
Administrar Metadata
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
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
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
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)
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
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)
Mejoras en T-SQL
DEMO
Índice de Almacenamiento Columnar (ColumnStore Index)
Í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
Í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
Índice de Almacenamiento Columnar (ColumnStore Index)
DEMO
Novedades en Extented Events
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
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
Novedades en Extented Events
Ejemplo
Novedades en Extented Events
Ejemplo
Novedades en Extented Events
Ejemplo
Novedades en Extented Events
DEMO
Certificaciones en MS SQL Server 2012
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
Preguntas & Respuestas
Sitio web:http://venezuela.sqlpass.org/
Facebook: https://www.facebook.com/
sqlpassvzlaTwitter:
https://twitter.com/sqlpassve
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
Muchas gracias por su participación
Top Related