En esta sesión dejaremos de lado el desarrollo de paquetes de integración para centrarnos en las tareas que puede llevar a cabo un DBA, que es el responsable -habitualmente- del correcto funcionamiento del servicio en entornos de Producción. Como bonus track hablaremos de las novedades vNext orientadas a escalado del servicio.
SSIS a fondo: monitorización y ajustes del servicio en producción - SolidQ Summit 2017
1. SOLIDQ SUMMIT MADRID 2017
#SQSummit17
Victor M García Sánchez | Mentor | vsanchez@solidq.com | @atharky
Richard Luis Diaz | DPA | richardldiaz@solidq.com | @richardldiaz
SSIS a fondo, monitorización y ajustes
2. SOLIDQ SUMMIT MADRID 2017
Modelo de despliegue de proyecto1
Buceando en el catálogo2
Automatizando tareas administrativas3
Seguridad4
Escalado horizontal5
5. SOLIDQ SUMMIT MADRID 2017
Proyectos
Parámetros
Entornos
Variables de entorno
Catálogo de procedimientos y vistas
Conjunto de informes estándar
6. SOLIDQ SUMMIT MADRID 2017
Aparece como novedad en la versión SQL Server 2016
Puedes desplegar uno o más paquetes para un
proyecto existente o nuevo
Herramientas de despliegue:
Deployment Wizard
SQL Server Management Studio
SQL Server Data Tools (Visual Studio)
Stored procedures
The Management Object Model (MOM) API
15. SOLIDQ SUMMIT MADRID 2017
El catálogo proporciona una serie de procedimientos que permiten la
administración de sus objetos.
Esto proporciona una serie de ventajas a los DBAs
T-SQL es el lenguaje por efecto de los DBAs
Curva de aprendizaje rápida
Algunas limitaciones
Muy sencillo para DBAs pero no para otros perfiles de IT
Administración local de la instancia, no tan sencillo para múltiples
servicios de integración
16. SOLIDQ SUMMIT MADRID 2017
Administración de objetos como:
Carpetas
Proyectos y paquetes
Parámetros
Entornos de servidor, variables y referencias
del entorno
17. SOLIDQ SUMMIT MADRID 2017
Por su potencia
Administrar muchos servidores
Acceso a recursos fuera de SQL Server
También permite usar T-SQL
¿Por qué PowerShell?
https://blogs.msdn.microsoft.com/dtjones/2008/08/29/powershell-vs-t-sql-or-why-did-we-
add-powershell-support-in-sql2k8/
http://www.memegen.es/memes/bebe_asustado
18. SOLIDQ SUMMIT MADRID 2017
Desde PowerShell haciendo uso de la librería:
Microsoft.SqlServer.Management.IntegrationServices
podemos crear tareas automatizadas en la administración de SSIS como:
Creación de catálogos
Creación de carpetas
Despliegue de proyectos
Creación de entornos y variables
Ejecución de paquetes
Asignación de parámetros
…
https://msdn.microsoft.com/es-es/library/microsoft.sqlserver.management.integrationservices.aspx
21. SOLIDQ SUMMIT MADRID 2017
Los proyectos, los entornos y los paquetes se encuentran en
carpetas que son objetos protegibles.
Se utiliza una combinación de seguridad de SQL y de la
seguridad que proporciona el catálogo.
Los roles de la base de datos de catálogo de SSISDB son:
ssis_admin
ssis_logreader
Además, existen los permisos propios del catálogo a nivel de
carpeta, proyecto, entorno y paquetes.
22. SOLIDQ SUMMIT MADRID 2017
Además, existen los permisos propios del catálogo a nivel de carpeta,
proyecto, entorno y paquetes:
23. SOLIDQ SUMMIT MADRID 2017
Escenarios:
1. Permitir leer o ejecutar paquetes de un solo proyecto
2. Permitir leer o ejecutar paquetes de todos los proyectos de una carpeta
3. Administrar el catálogo
25. SOLIDQ SUMMIT MADRID 2017
Escenarios
Usuario lanza un
job con proxy
desde máquina
remota. SSIS y
SSIDB en el
mismo servidor
Usuario/job/SP
lanza ejecución
en el mismo
servidor. SSIS y
SSIDB en el
mismo servidor
26. SOLIDQ SUMMIT MADRID 2017
Escenarios (II)
Usuario/job/SP
ejecutan un
paquete desde
máquina distinta.
SSIS y SSISDB se
encuentran en el
mismo servidor.
27. SOLIDQ SUMMIT MADRID 2017
¿Cómo funciona la delegación?
4. Petición y respuesta de
delegación Kerberos para el
Ticket para el Server 2
3. Conecta utilizando
credenciales de cliente al
server 1
5. Conecta al server 2
utilizando las
credenciales del cliente
que tiene el server 1
28. SOLIDQ SUMMIT MADRID 2017
Implementando Kerberos para SSIS
Parámetros básicos seguridad
Cuentas de ejecución de paquetes con permisos en SSISDB, orígenes
y destinos para las cadenas de conexión con credenciales Windows.
Conceder permisos para activación componente DCOM *
Configuración específica para Kerberos
Establecer UPN para servicios implicados en la cadena de
autenticación (cuentas dominio, usuario o máquina)
Registrar SPN de servicios
SQL/SSAS/HTTP en puerto establecido
Habilitar delegación
DCOM: RuntimeBroker.exe
29. SOLIDQ SUMMIT MADRID 2017
DCOM: RuntimeBroker.exe
Identificar CLSID y APPID
Buscar con regedit
Concederte permisos sobre las entradas
En la consola DCOM, localizar el APPID
Conceder permisos de activación
The application-specific permission settings do not grant Local
Activation permission for the COM Server application with CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
and APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
to the user SQLMERIDIANOSQLISScaleOutWorker1 SID (S-1-5-21-
328980982-2596610430-4260849976-1615) from address LocalHost (Using
LRPC) running in the application container Unavailable SID
(Unavailable). This security permission can be modified using the
Component Services administrative tool.
30. SOLIDQ SUMMIT MADRID 2017
Desde el punto de vista de diseño del producto, no hay impedimento:
https://connect.microsoft.com/SQLServer/feedback/details/767088/with-the-new-ability-to-
execute-ssis-packages-from-tsql-kerberos-delegation-should-be-supported
?https://technet.microsoft.com/en-us/library/aa337083(v=sql.110).aspx
31. SOLIDQ SUMMIT MADRID 2017
Toma nota de la documentación… correcta:
https://docs.microsoft.com/en-us/sql/integration-services/service/integration-services-service-ssis-service
33. SOLIDQ SUMMIT MADRID 2017
Kit de herramientas:
SetSPN
Kerberos configuration Manager for SQL
Klist
KerbTray
Habilitar log eventos para Kerberos
Wire shark, Security Event Log
Blogs de referencia (p.e. Adam Saxton)
Microsoft docs (SQL, SSAS, SSRS, SSIS, Kerberos v5)
Empieza por lo básico:
select c.session_id, s.login_name, c.auth_scheme, c.net_transport, st.text
from sys.dm_exec_connections c
JOIN sys.dm_exec_sessions s ON c.session_id = s.session_id
JOIN sys.dm_exec_requests r ON c.session_id = r.session_id
cross apply sys.dm_exec_sql_text(r.sql_handle) as st
35. SOLIDQ SUMMIT MADRID 2017
Disponible a partir de SQL Server vNext (2017
CTP1)
Escalado a nivel de paquete
Balancea las ejecuciones entre los workers
disponibles
No divide un paquete en tareas distribuibles
Aún válidos patrones de diseño avanzados para carga
distribuida
Comunicación HTTPS Master<->Worker
El contexto de seguridad del paquete es la
cuenta de ejecución del Worker*
MASTER
Woker
Woker
36. SOLIDQ SUMMIT MADRID 2017
MASTER
Orquesta las ejecuciones y
distribución en los workers
Opera sobre SSIDB
Las credenciales contexto de
ejecución deben tener permisos
en SSISDB
Recibe peticiones de ejecución
Registra actividad en SSIDB
remota
Las credenciales contexto de
ejecución cambian a la cuenta
de ejecución del servicio
Worker
37. SOLIDQ SUMMIT MADRID 2017
MASTER
Orquesta las ejecuciones y
distribución en los workers
Opera sobre SSIDB
Las credenciales contexto de
ejecución deben tener permisos
en SSISDB
Woker
Recibe peticiones de ejecución
Registra actividad en SSIDB
remota
Las credenciales contexto de
ejecución cambian a la cuenta
de ejecución del servicio
38. SOLIDQ SUMMIT MADRID 2017
MASTER
Instalar la característica Scale Out Master en la instalación de
SQL Server
Establecer una cuenta (preferible cuenta de dominio)
Seleccionar o generar un certificado
Establecer puerto – por defecto 8391
Habilitar la comunicación para el puerto SQL y Scale Out
Revisar configuración y guardar el certificado generado
SSISScaleOutMaster.cer
Crear catálogo SSIDB con Scale Out habilitado
Habilitar modo seguridad SQL Server
39. SOLIDQ SUMMIT MADRID 2017
Instalar la característica Scale Out Worker en la instalación
de SQL Server
Establecer una cuenta (preferible cuenta de dominio)
Establecer Uri de Scale Out Master
Seleccionar certificado para comunicación con nodo
Master
Revisar configuración y guardar certificado
SSISScaleOutWorker.cer del nodo
Worker
40. SOLIDQ SUMMIT MADRID 2017
Instalar certificado workers en máquina master
Trusted Root Certification Authorities
Habilitar el uso del worker desde SSISDB
Worker
MASTER
42. SOLIDQ SUMMIT MADRID 2017
Copia de seguridad, restauración y traslado del catálogo de SSIS
Actualización del catálogo de SSIS (SSISDB)
Always On for SSIS Catalog (SSISDB)
43. SOLIDQ SUMMIT MADRID 2017
• +500h de trabajo
• Clases 100% ONLINE en directo
• Proyecto fin de máster real para tu empresa
• Tutorías bajo demanda
• Laboratorios virtuales guiados paso a paso
• Invitación 1 día al SolidQ Summit Madrid
• Te ayudamos en tus proyectos de BI & Analytics
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster
“Con la evolución de los tiempos, es imprescindible estudiar todo lo que tiene que ver con real-time,
analytics y el mundo de los datos. Por lo que, consideré que tener formación en BI me podría ser muy útil
y me venía muy bien personalmente, porque nuestro sistema trata con muchísimas transacciones y
muchísima carga y ‘el relacional’ ya se nos estaba quedando pequeño.
El máster nos dio una visión bastante general de cómo implementar un proyecto y gestionarlo tú mismo y
cómo ver las soluciones de distintas maneras. Aunque tenía mis dudas de hacer una formación online, la
valoración es bastante positiva, las clases son muy interactivas y al final salió todo muy bien.”
Adolfo Gabriel
VP Software
Development, Payvision
Máster en BI & Analytics
Alumni
¡Plazas Limitadas!
Más información:
http://www.solidq.com/es/masterbi
CONTENIDOS
• BI & Analytics Overview
• Data Warehousing y Modelo Dimensional
• Obtención de datos. ETL e Integración
• Soluciones Analíticas
• Análisis y Visualización de la información
• Proyecto Fin de Máster