SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Desarrollo con control de código contra
SQL Server (300)
Luís J. Morán Cuenca
REL300013
DPA - Relacional
lmoran@solidq.com
Enrique Catalá Bañuls
Mentor – Relational engine
MAP 2012 – Microsoft Technical Ranger – Microsoft Certified Trainer
ecatala@solidq.com
Problemática actual
Soluciones
 Manuales
 Automáticas
Desarrollo con ciclo de vida
Data-Tier Application component
SQL Server Data Tools
Conclusiones
Agenda
 Las bases de datos no tienen tratamiento adecuado
 Se siguen tratando como entidades independientes aisladas
 Las dependencias se gestionan manualmente
 Los errores en código T-SQL se encuentran solo cuando se
ejecuta dicho código
 Múltiples aplicaciones hacen uso de la misma BBDD
 Múltiples BBDD hacen uso entre ellas
 Aplicaciones hacen uso de múltiples versiones de SQL
Server
Problemática actual
Ciclo de vida
1. La de los amantes del riesgo máximo
2. La de los que piensan que todo tiempo
pasado fue mejor
3. SQL Server Data Tier Applications
4. Proyectos de base de datos
5. SQL Server Data Tools
Problemática actual
Soluciones
 Sin desarrollo con control de código contra SQL
Server
 Sin control cambios en un SQL Server centralizado
 El que desarrolla el cambio es responsable de dicho
cambio
 El que desarrolla el cambio se encarga de subir el
cambio a pro
 ¿Entornos de desarrollo compartidos??¿Eso que
eh lo que eh? 
Soluciones
Amantes del riesgo máximo
 Solo un punto de fallo
 ¿Qué pasa si un developer sube un cambio y olvida comentar el
drop column?
 ¿Cómo gestionamos las actualizaciones?
 Grandes ideas acaban poniéndose en práctica 
 Usemos consultas ad-hoc!!!!
 Usemos ORM!!! ¿por qué hacer t-sql si ahora se lleva Entity
Framework?
 A la larga aparecen:
 Problemas de rendimiento
 Sobrecostes mantenimiento
 Paradas de servicio
Amantes del riesgo máximo
Las consecuencias
Y si ya unimos todo esto a una mala
política de backups… 
 Desarrollo con control de código contra SQL
Server…a base de scripts
 Se usa repositorio Source Safe…o incluso TFS pero “a modo de
backup de scripts”
 Gestion cambios de SQL Server centralizados
 El que desarrolla el cambio es responsable de dicho
cambio
 El cambio se sube a un repositorio con control de código
y hay un responsable de testing
 Entornos de desarrollo compartidos
 Hay un responsable de testing que testea los cambios antes de subir
a producción
Soluciones
Todo tiempo pasado fue mejor
 Los errores son pasados por alto ya que no saltan hasta
haberse ejecutado
 Son frecuentes retrasos de puesta a producción puesto
que el desarrollo fuerza codificar con seguridad
 IF EXISTS()/ALTER,…
 Los entornos de desarrollo compartidos tienen capacidad
limitada en ocasiones y se cae en tentación de no usarlos
 Se prueba localmente y no se tienen los cambios de otros
compañeros
 ¿Sincronización de esquemas?
 Mis compis reciben mi script y lo lanzan en sus entornos de prueba
(si, esos que no deberían tener local )
 ¿Despliegue? Ah, si…te refieres a lo de abrir el .sql y darle a
F5…pero si falla, juanito es el que se encarga 
Problemas de soluciones manuales
Problemática actual
Soluciones
 Manuales
 Automáticas
Desarrollo con ciclo de vida
Data-Tier Application component
SQL Server Data Tools
Conclusiones
Agenda
 No quiero mas responsabilidades, el despliegue que se
haga solo
 No quiero codificar más de lo imprescindible
 El código de verificación que se haga solo (if exists,…)
 No quiero perder el tiempo copiando ficheritos
 Centralización de todos cambios en un único fichero/instalador
 No quiero aprender otra herramienta!
 Entorno integrado con el que desarrollo mis aplicaciones
 Roles diferenciados
 DBA-DBD que se encargue de la BBDD
 Developer que se encarge de la aplicación cliente
 Pero centralizados
 Las mismas tools para ambos, pero distinta finalidad
Desarrollo con ciclo de vida
¿por qué?
¿Es posible un ciclo de vida para DB Apps?
 Desarrollo
 Despliegue
 Administración y mantenimiento
Sigue siendo habitual comunicación 0 entre
developers y DBAs
 RESPUESTA: SI!!! Y además desde hace tiempo 
Desarrollo con ciclo de vida
Ciclo de vida
 Database Project
 Proyectos de Visual Studio pensados para desarrollar la capa de datos
 Visual Studio Professional como mínimo requerido
 Server Project
 Proyectos de Visual Studio pensados para desarrollar modelados de
objetos a nivel de servidor y de la base de datos master
 Visual Studio Professional como mínimo requerido
 Data-tier Application
 Proyectos para implementar la capa de datos incluyendo partes de nivel
de servidor.
 Compatible con SSMS y con VS.
 Data Tools
 Evolución de Database Project.
 Incluye lo mejor de Data-tier Applications y de database proyect
 Compatible con Visual Studio, pero no requiere edición especial
 Compatible también con SSMS
Desarrollo con ciclo de vida
Alternativas
 En el ciclo de vida, el Data-Tier application component nos
ayuda a la hora desde el punto de vista de desarrollo
Data Tier Application Component
Desarrollo
• No se puede capturar
información del
desarrollo
• Diseño de DB diferente
entre Dev y DBA
• Dificultad para
empaquetar la
aplicación DB
Desarrollo
• La información del
esquema de BBDD se
captura
automáticamente, asi
como sus cambios
• Se utiliza el diseño de
base de datos, que se
distribuye
• Empaquetado de
aplicación en un único
fichero .dacpac
Solucionado por…
 En el ciclo de vida, el Data-Tier application component nos
ayuda a la hora desde el punto de vista de despliegue
Data Tier Application Component
Despliegue
• Difícil centralizar y
controlar el despliegue
• Políticas de despliegue
para diferentes
versiones
• Comprobar y
mantener restricciones
de despliegue
• DBA no conoce la App
DB
Despliegue
•Despliegue mediante
un único fichero
autoejecutable .dacpac
•Control de despliegue
automático
independiente de
instancia
•Control de cambios en
tiempo de despliegue
automático
•DBA no necesita
conocer cambios y DEV
no necesita conocer
BBDD
Solucionado por…
Data Tier Application Component
Diagrama de despliegue
 Modelo casi completo de una aplicación de base de datos
 Esquemas, tablas, procedimientos almacenados
 Información referenciada
 Políticas de despliegue
 Empaquetado en un solo archivo .dacpac
 Mejora la comunicación entre Desarrollador y DBA
 Contiene la forma deseada al desplegar la aplicación
 Control de versiones (TFS)
 Integrado en VS 2010 y SQL08 R2
Data Tier Application Component
DAC
Data-Tier Application Component (DAC)
Esquema
Perfil de despliegue
Requisitos, Políticas de despliegue
Lógico
Tablas, Vistas, Claves,
Procedimientos
Físico
Usuarios, Logins,
Índices
 No se retiene información sobre ficheros
 Se puede registrar y extraer info de BBDD que use filegroups
 Al registrar la BBDD se crea
 Con 1 único fichero y filegroup (mejorado )
 Con tamaño inicial 3Mb y crecimiento de 1Mb 
 Si se genera un DACPAC desde SQL 2012, no se puede
importar hacia versión inferior
 Nombre de BBDD máximo 87 caracteres
 Tamaño .dacpac <=50Mb
Data Tier Application Component
Restricciones
 Los siguientes objetos no se soportan
 Objetos CLR y tipos de datos CLR
 Incluyendo geometry, geography y Hierarchyid
 Partitionado (ni esquemas ni funciones)
 Filestream
 Linked servers
 Objetos con accesos cross-database
 XML schema, XML indexes
 Cifrado (claves simétricas/asimetricas ó certificados)
 Ni tampoco objetos cifrados
 User defined aggregates
 Service broker
 Triggers DDL
 Roles de aplicación
 FTS catalogs
 Extended stored procedures
 Propiedades extendidas
 Sinónimos
 Objetos marcados deprecados
Data Tier Application Component
Restricciones
Data Tier Application Component
Restricciones
Operación SQL2012 SQL 08 R2 SQL
Azure
SQL 08 SQL 05 SQL
2000
Borrar SI SI SI >=SP2 No No
Desplegar SI SI SI >=SP2 No No
Extraer SI SI SI SI SI SI
Registrar SI SI SI >=SP2 No No
Actualizar SI SI SI >=SP2 No No
Operaciones
Cliente
SI SI SI No No No
Problemática actual
Soluciones
 Manuales
 Automáticas
Desarrollo con ciclo de vida
Data-Tier Application component
SQL Server Data Tools
Conclusiones
Agenda
SQL Server Data Tools
 ¿Qué es?
SQL Server Data Tools
Integra Proyectos BIDS
Entorno de Desarrollo Completo
Configuración Todas
Propiedades BBDD
Nuevas Capacidades y
Mejoras
SQL Server Data Tools
 Novedades
Editor T-SQL
“Enriquecido”
SQL Server Data Tools
 Inicialización de Proyectos
Importar desde Script
SQL Server Data Tools
DEMODEMO
SQL Server Data Tools
 ¿Qué tipo de futuro esperas para tu app?
Conclusiones
Comparativa final
Riesgo
Esfuerzo
Problemática actual
Soluciones
 Manuales
 Automáticas
Desarrollo con ciclo de vida
Data-Tier Application component
SQL Server Data Tools
Conclusiones
Agenda
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
ésta es tu oportunidad.
http://summit.solidq.com/madrid/
Síguenos:

Contenu connexe

Tendances (7)

Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Estudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVAEstudio comparativo de PHP, ASP.NET Y JAVA
Estudio comparativo de PHP, ASP.NET Y JAVA
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidadOracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
 
Spring
SpringSpring
Spring
 
J2ee jsf
J2ee jsfJ2ee jsf
J2ee jsf
 
4 Jhs J Developer Adf
4  Jhs J Developer Adf4  Jhs J Developer Adf
4 Jhs J Developer Adf
 
Asp.net 4
Asp.net 4Asp.net 4
Asp.net 4
 

En vedette

Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlTitiushko Jazz
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)José Toro
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)José Toro
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)José Toro
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracleluisguil
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sqlJulian Benavidez
 

En vedette (8)

Unidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sqlUnidad vi esp parte 2 procesimientos en plsql y transact sql
Unidad vi esp parte 2 procesimientos en plsql y transact sql
 
Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)Sesion06b - Introducción al PL-SQL (Oracle)
Sesion06b - Introducción al PL-SQL (Oracle)
 
Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)Sesion06a - Manipulacion de datos (Oracle)
Sesion06a - Manipulacion de datos (Oracle)
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)Sesion06c - Sentencias SQL en PL-SQL (Oracle)
Sesion06c - Sentencias SQL en PL-SQL (Oracle)
 
Exercícios PL/SQL
Exercícios PL/SQLExercícios PL/SQL
Exercícios PL/SQL
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 

Similaire à Desarrollo con SQL Server Data Tools

Run2 0 track sql server
Run2 0   track sql serverRun2 0   track sql server
Run2 0 track sql serverguest65dd15
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresJoseph Lopez
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...SolidQ
 
Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8John Bulla
 
Perspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosDiana Vélez
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL DatabasesSolidQ
 
SISTEMAS MANEJADORES DE DATOS
SISTEMAS MANEJADORES DE DATOSSISTEMAS MANEJADORES DE DATOS
SISTEMAS MANEJADORES DE DATOSDANIEL RONDON
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoEduardo Castro
 
Presentación sgbd
Presentación sgbdPresentación sgbd
Presentación sgbdSergio Cano
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8John Bulla
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 

Similaire à Desarrollo con SQL Server Data Tools (20)

Run2 0 track sql server
Run2 0   track sql serverRun2 0   track sql server
Run2 0 track sql server
 
Run 20 Track SQL Server
Run 20 Track SQL ServerRun 20 Track SQL Server
Run 20 Track SQL Server
 
MS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladoresMS SQL Server 2012 SP1 para desarrolladores
MS SQL Server 2012 SP1 para desarrolladores
 
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
Buenas prácticas de codificación para capas de acceso a datos de aplicaciones...
 
DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
 
Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8Diplomado Técnico SQL Server 2012 - Sesión 6/8
Diplomado Técnico SQL Server 2012 - Sesión 6/8
 
Perspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datosPerspectiva practica de la administracion de base de datos
Perspectiva practica de la administracion de base de datos
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
 
SISTEMAS MANEJADORES DE DATOS
SISTEMAS MANEJADORES DE DATOSSISTEMAS MANEJADORES DE DATOS
SISTEMAS MANEJADORES DE DATOS
 
SQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y MantenimientoSQL Azure Administración, Desempeño y Mantenimiento
SQL Azure Administración, Desempeño y Mantenimiento
 
Semana 01.pdf
Semana 01.pdfSemana 01.pdf
Semana 01.pdf
 
ejemplo de diseño
ejemplo de diseñoejemplo de diseño
ejemplo de diseño
 
BEING DBA
BEING DBABEING DBA
BEING DBA
 
Presentación sgbd
Presentación sgbdPresentación sgbd
Presentación sgbd
 
SEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptxSEMANA 1 Introduccion.pptx
SEMANA 1 Introduccion.pptx
 
Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8Diplomado Técnico SQL Server 2012 - Sesión 7/8
Diplomado Técnico SQL Server 2012 - Sesión 7/8
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Windows Azure SQL Databases
Windows Azure SQL DatabasesWindows Azure SQL Databases
Windows Azure SQL Databases
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Modelo
ModeloModelo
Modelo
 

Plus de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 

Plus de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 

Dernier

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 

Dernier (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 

Desarrollo con SQL Server Data Tools

  • 1. Desarrollo con control de código contra SQL Server (300) Luís J. Morán Cuenca REL300013 DPA - Relacional lmoran@solidq.com Enrique Catalá Bañuls Mentor – Relational engine MAP 2012 – Microsoft Technical Ranger – Microsoft Certified Trainer ecatala@solidq.com
  • 2. Problemática actual Soluciones  Manuales  Automáticas Desarrollo con ciclo de vida Data-Tier Application component SQL Server Data Tools Conclusiones Agenda
  • 3.  Las bases de datos no tienen tratamiento adecuado  Se siguen tratando como entidades independientes aisladas  Las dependencias se gestionan manualmente  Los errores en código T-SQL se encuentran solo cuando se ejecuta dicho código  Múltiples aplicaciones hacen uso de la misma BBDD  Múltiples BBDD hacen uso entre ellas  Aplicaciones hacen uso de múltiples versiones de SQL Server Problemática actual Ciclo de vida
  • 4. 1. La de los amantes del riesgo máximo 2. La de los que piensan que todo tiempo pasado fue mejor 3. SQL Server Data Tier Applications 4. Proyectos de base de datos 5. SQL Server Data Tools Problemática actual Soluciones
  • 5.  Sin desarrollo con control de código contra SQL Server  Sin control cambios en un SQL Server centralizado  El que desarrolla el cambio es responsable de dicho cambio  El que desarrolla el cambio se encarga de subir el cambio a pro  ¿Entornos de desarrollo compartidos??¿Eso que eh lo que eh?  Soluciones Amantes del riesgo máximo
  • 6.  Solo un punto de fallo  ¿Qué pasa si un developer sube un cambio y olvida comentar el drop column?  ¿Cómo gestionamos las actualizaciones?  Grandes ideas acaban poniéndose en práctica   Usemos consultas ad-hoc!!!!  Usemos ORM!!! ¿por qué hacer t-sql si ahora se lleva Entity Framework?  A la larga aparecen:  Problemas de rendimiento  Sobrecostes mantenimiento  Paradas de servicio Amantes del riesgo máximo Las consecuencias Y si ya unimos todo esto a una mala política de backups… 
  • 7.  Desarrollo con control de código contra SQL Server…a base de scripts  Se usa repositorio Source Safe…o incluso TFS pero “a modo de backup de scripts”  Gestion cambios de SQL Server centralizados  El que desarrolla el cambio es responsable de dicho cambio  El cambio se sube a un repositorio con control de código y hay un responsable de testing  Entornos de desarrollo compartidos  Hay un responsable de testing que testea los cambios antes de subir a producción Soluciones Todo tiempo pasado fue mejor
  • 8.  Los errores son pasados por alto ya que no saltan hasta haberse ejecutado  Son frecuentes retrasos de puesta a producción puesto que el desarrollo fuerza codificar con seguridad  IF EXISTS()/ALTER,…  Los entornos de desarrollo compartidos tienen capacidad limitada en ocasiones y se cae en tentación de no usarlos  Se prueba localmente y no se tienen los cambios de otros compañeros  ¿Sincronización de esquemas?  Mis compis reciben mi script y lo lanzan en sus entornos de prueba (si, esos que no deberían tener local )  ¿Despliegue? Ah, si…te refieres a lo de abrir el .sql y darle a F5…pero si falla, juanito es el que se encarga  Problemas de soluciones manuales
  • 9. Problemática actual Soluciones  Manuales  Automáticas Desarrollo con ciclo de vida Data-Tier Application component SQL Server Data Tools Conclusiones Agenda
  • 10.  No quiero mas responsabilidades, el despliegue que se haga solo  No quiero codificar más de lo imprescindible  El código de verificación que se haga solo (if exists,…)  No quiero perder el tiempo copiando ficheritos  Centralización de todos cambios en un único fichero/instalador  No quiero aprender otra herramienta!  Entorno integrado con el que desarrollo mis aplicaciones  Roles diferenciados  DBA-DBD que se encargue de la BBDD  Developer que se encarge de la aplicación cliente  Pero centralizados  Las mismas tools para ambos, pero distinta finalidad Desarrollo con ciclo de vida ¿por qué?
  • 11. ¿Es posible un ciclo de vida para DB Apps?  Desarrollo  Despliegue  Administración y mantenimiento Sigue siendo habitual comunicación 0 entre developers y DBAs  RESPUESTA: SI!!! Y además desde hace tiempo  Desarrollo con ciclo de vida Ciclo de vida
  • 12.  Database Project  Proyectos de Visual Studio pensados para desarrollar la capa de datos  Visual Studio Professional como mínimo requerido  Server Project  Proyectos de Visual Studio pensados para desarrollar modelados de objetos a nivel de servidor y de la base de datos master  Visual Studio Professional como mínimo requerido  Data-tier Application  Proyectos para implementar la capa de datos incluyendo partes de nivel de servidor.  Compatible con SSMS y con VS.  Data Tools  Evolución de Database Project.  Incluye lo mejor de Data-tier Applications y de database proyect  Compatible con Visual Studio, pero no requiere edición especial  Compatible también con SSMS Desarrollo con ciclo de vida Alternativas
  • 13.  En el ciclo de vida, el Data-Tier application component nos ayuda a la hora desde el punto de vista de desarrollo Data Tier Application Component Desarrollo • No se puede capturar información del desarrollo • Diseño de DB diferente entre Dev y DBA • Dificultad para empaquetar la aplicación DB Desarrollo • La información del esquema de BBDD se captura automáticamente, asi como sus cambios • Se utiliza el diseño de base de datos, que se distribuye • Empaquetado de aplicación en un único fichero .dacpac Solucionado por…
  • 14.  En el ciclo de vida, el Data-Tier application component nos ayuda a la hora desde el punto de vista de despliegue Data Tier Application Component Despliegue • Difícil centralizar y controlar el despliegue • Políticas de despliegue para diferentes versiones • Comprobar y mantener restricciones de despliegue • DBA no conoce la App DB Despliegue •Despliegue mediante un único fichero autoejecutable .dacpac •Control de despliegue automático independiente de instancia •Control de cambios en tiempo de despliegue automático •DBA no necesita conocer cambios y DEV no necesita conocer BBDD Solucionado por…
  • 15. Data Tier Application Component Diagrama de despliegue
  • 16.  Modelo casi completo de una aplicación de base de datos  Esquemas, tablas, procedimientos almacenados  Información referenciada  Políticas de despliegue  Empaquetado en un solo archivo .dacpac  Mejora la comunicación entre Desarrollador y DBA  Contiene la forma deseada al desplegar la aplicación  Control de versiones (TFS)  Integrado en VS 2010 y SQL08 R2 Data Tier Application Component DAC Data-Tier Application Component (DAC) Esquema Perfil de despliegue Requisitos, Políticas de despliegue Lógico Tablas, Vistas, Claves, Procedimientos Físico Usuarios, Logins, Índices
  • 17.  No se retiene información sobre ficheros  Se puede registrar y extraer info de BBDD que use filegroups  Al registrar la BBDD se crea  Con 1 único fichero y filegroup (mejorado )  Con tamaño inicial 3Mb y crecimiento de 1Mb   Si se genera un DACPAC desde SQL 2012, no se puede importar hacia versión inferior  Nombre de BBDD máximo 87 caracteres  Tamaño .dacpac <=50Mb Data Tier Application Component Restricciones
  • 18.  Los siguientes objetos no se soportan  Objetos CLR y tipos de datos CLR  Incluyendo geometry, geography y Hierarchyid  Partitionado (ni esquemas ni funciones)  Filestream  Linked servers  Objetos con accesos cross-database  XML schema, XML indexes  Cifrado (claves simétricas/asimetricas ó certificados)  Ni tampoco objetos cifrados  User defined aggregates  Service broker  Triggers DDL  Roles de aplicación  FTS catalogs  Extended stored procedures  Propiedades extendidas  Sinónimos  Objetos marcados deprecados Data Tier Application Component Restricciones
  • 19. Data Tier Application Component Restricciones Operación SQL2012 SQL 08 R2 SQL Azure SQL 08 SQL 05 SQL 2000 Borrar SI SI SI >=SP2 No No Desplegar SI SI SI >=SP2 No No Extraer SI SI SI SI SI SI Registrar SI SI SI >=SP2 No No Actualizar SI SI SI >=SP2 No No Operaciones Cliente SI SI SI No No No
  • 20. Problemática actual Soluciones  Manuales  Automáticas Desarrollo con ciclo de vida Data-Tier Application component SQL Server Data Tools Conclusiones Agenda
  • 22.  ¿Qué es? SQL Server Data Tools Integra Proyectos BIDS Entorno de Desarrollo Completo Configuración Todas Propiedades BBDD Nuevas Capacidades y Mejoras
  • 23. SQL Server Data Tools  Novedades Editor T-SQL “Enriquecido”
  • 24. SQL Server Data Tools  Inicialización de Proyectos Importar desde Script
  • 27.  ¿Qué tipo de futuro esperas para tu app? Conclusiones Comparativa final Riesgo Esfuerzo
  • 28. Problemática actual Soluciones  Manuales  Automáticas Desarrollo con ciclo de vida Data-Tier Application component SQL Server Data Tools Conclusiones Agenda
  • 29. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/ Síguenos: