SlideShare a Scribd company logo
1 of 18
La receta de la abuela para
mejores cargas de datos
Alejandro Cordero
Database Consultant – Pythian Group
Correo electrónico: alejandro@sqlturbo.com
Twitter: @ale_corderocr
LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr
BLOG: Sqlturbo.com
MCTS, CSM
Speaker Bio
2
Picture Here
Speaker Bio - Alejandro Cordero
2
SQLTURBO.COM
DBA en Pythian
Scrum Master Certified
alejandro@sqlturbo.com
3
Agenda
El papel de los modelos de recuperación
Operaciones “Minimally logged”
TraceFlag 610
Importando con SSIS
Importando con BCP
Importando con Bulk Insert
Importando con Select Into / Insert .. Select
Conclusiones de la abuela
3
4
Transacción Completa
4
1
3
write-ahead logging (WAL)
sincrónico
2
Transacción
Bitacora de transacciones
O transaction log
Archivo de datos
O Data file
Modelos de Recuperación
• Full – Se guardan todas las operaciones.
• Bulk-logged – Se guardan operaciones
excepto ciertas operaciones de carga de
alto rendimiento.
• Simple – Solo guarda información
temporalmente y son truncadas luego
de un checkpoint.
5
Operaciones Minimally Logged
SSIS
Bcp
BULK INSERT
INSERT... SELECT
Select into operations
5
6
Páginas y Extents de datos
Página de datos - 8 KB
Extent – unidad básica -8
páginas o 64kb
Las páginas pueden ser fully logged
O Minimally logged y en un Mixed extent
Esto puede pasar para una página que sea
De datos o de índices, significa que en un
Extent mixto puedo tener también un
Comportamiento Mixto, donde mis
Páginas de datos son Minimally logged
Pero las páginas de los índices son
Fully logged.
El mejor escenario es cuando
Logro que mis páginas de
Datos e índices sean
Minimally logged.
7
Ingredientes para una carga de datos
-Pre requisitos para operaciones ML-
Base de datos en Simple/Bulk Load
La tabla no esta siendo replicada
La tabla es bloqueada por medio de un TABLOCK
Si la tabla no tiene índices, las paginas de datos son “Minimally logged”
Si la tabla no tiene índice Clustered y tiene índices Non Clustered las páginas
de datos son “Minimally logged”, sin embargo las páginas de los índices serán
ML solo si la tabla esta vacía
8
Ingredientes para una carga de datos
-Pre requisitos para operaciones ML-
Si la tabla tiene un índice clustered y está vacía ambas paginas de índice y de
datos son Minimally logged. En contraste si la tabla no está vacía la operación
será Fully Logged
Mejores Prácticas Para conservar tamaño: Trate de
hacer varios bulk loads
en diferentes batches. Cada vez que termina un batch
El log puede ser limpiado por un transaction log backup
cuando se está en bulk-logged mode.
Péro
El primer batch será Minimally logged…..los demás serán
Mixtos o Full.
9
Traceflag 610 – el Ingrediente secreto
Cuando se usa este traceflag se habilita la posibilidad
De hacer operaciones minimally logged
Sobre índices B-tree, los árboles B, son el algoritmo usado por SQL Server en sus índices.
De esta forma podrémos tener operaciones ML sobre Índices clustered llenos . Con ciertas
excepciones. Solo cuando el dato se guarda sobre una página nueva y no dentro de una
existente, este va a ser ML.
non-FULL recovery model
AND NOT replicated
AND (
(Heap AND TABLOCK)
OR (B-tree AND empty AND TABLOCK)
OR (B-tree AND empty AND TF-610)
OR (B-tree AND nonempty AND TF-610 AND NEW key-range)
Mejores Prácticas : cuando se usa el t610
Usar el batchsize más grande posible
DBCC TRACEON (610, -1);
Revisando Page Allocations
11
Cuando se hace una operación Minimally Logged
Table Indexes Rows in table Hints Without TF 610 With TF 610
Concurrent
possible
Heap Any TABLOCK Minimal Minimal Yes
Heap Any None Full Full Yes
Heap + Index Any TABLOCK Full Depends (3) No
Cluster Empty TABLOCK, ORDER
(1)
Minimal Minimal No
Cluster Empty None Full Minimal Yes (2)
Cluster Any None Full Minimal Yes (2)
Cluster Any TABLOCK Full Minimal No
Cluster + Index Any None Full Depends (3) Yes (2)
Cluster + Index Any TABLOCK Full Depends (3) No
12
El plato Principal – la carga de datos
SSIS
BCP
BULK INSERT
SELECT INTO
INSERT SELECT
Comparativa de Rendimiento entre las 5 recetas
SSIS
BCP
BULK INSERT
SELECT INTO
INSERT SELECT
14
Resumen
Functionality Integration Services BULK INSERT BCP INSERT … SELECT
SQL Dest. OLE DB Dest
Protocol Shared Memory TCP/IP
Named Pipes
In Memory TCP/IP
Shared Memory
Named Pipes
In Memory
Speed Faster / Fastest(4) Fast / Fastest (1) Fastest Fast Slow / Fastest (2)
Data Source Any Any Data File Only Data File Only Any OLE DB
Bulk API Support Not Native Not ORDER
Not Native
All All No Hints Allowed
Lock taken with
TABLOCK hint on
heap
BU BU BU BU X
Can transform in
transit
Yes Yes No No Yes
I/O Read block
Size
Depends(3) Depends(3) 64 kilobytes (KB) 64 KB Up to 512 KB
SQL Server
Version
2005 and 2008 2005 and 2008 7.0, 2000, 2005,
and 2008
6.0, 7.0, 2000,
2005, and 2008
2008
Invoked from DTEXEC / BIDS DTEXEC / BIDS Transact-SQL Command Line Transact-SQL
Cargas de datos simultaneas
16
Conclusiones
Usar Traceflag 610 – Pero, probar primero!
Usar SSIS o bulk Insert de preferencia
Tomar en cuenta espacio necesario para el crecimiento
Tomar en cuenta el modelo de recuperación
Tomar en cuenta CPU disponibles
Tomar en cuenta si tengo trasaction logs corriendo.
Preguntas?
Correo electrónico: alejandro@sqlturbo.com
Twitter: @ale_corderocr
LinkedIn:
https://cr.linkedin.com/in/alejandrocorderocr
BLOG: Sqlturbo.com
MCTS, CSM
Thank You for Attending
Follow @pass24hop
Share your thoughts with hashtags
#pass24hop & #sqlpass

More Related Content

Viewers also liked

Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
SpanishPASSVC
 

Viewers also liked (20)

Cuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partesCuadros de mando el todo es más que la suma de las partes
Cuadros de mando el todo es más que la suma de las partes
 
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
Descubriendo el corazón de la optimización “Estadísticas más que un concepto”
 
Administrando soluciones de Power BI
Administrando soluciones de Power BIAdministrando soluciones de Power BI
Administrando soluciones de Power BI
 
Vista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan AlvaradoVista 360 grados de DataZen - Juan Alvarado
Vista 360 grados de DataZen - Juan Alvarado
 
SQL Server rápido y furioso
SQL Server rápido y furiosoSQL Server rápido y furioso
SQL Server rápido y furioso
 
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth UreñaSQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
SQL Server 2016 Strech Database desde cada ángulo - Kenneth Ureña
 
Visualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocioVisualización. mejorando las respuestas a las preguntas de negocio
Visualización. mejorando las respuestas a las preguntas de negocio
 
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
Excel power pivot como herramienta de apoyo para la estrategia de bi self-ser...
 
SQL como un servicio en la nube
SQL como un servicio en la nubeSQL como un servicio en la nube
SQL como un servicio en la nube
 
Query Store en SQL 2016
Query Store en SQL 2016Query Store en SQL 2016
Query Store en SQL 2016
 
Automatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatosAutomatizando la generación de Datawarehouses a través de metadatos
Automatizando la generación de Datawarehouses a través de metadatos
 
Sincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL ServerSincronizando Azure Search con SQL Server
Sincronizando Azure Search con SQL Server
 
Procesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSISProcesando XML de estruturas complejas con SSIS
Procesando XML de estruturas complejas con SSIS
 
SQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level SecuritySQL Server 2016 - Row Level Security
SQL Server 2016 - Row Level Security
 
Prácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft AzurePrácticas recomendadas para SQL Server en Microsoft Azure
Prácticas recomendadas para SQL Server en Microsoft Azure
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data Science
 
SQL Server 2016 new features
SQL Server 2016 new featuresSQL Server 2016 new features
SQL Server 2016 new features
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016
 
SQL Monitoring
SQL MonitoringSQL Monitoring
SQL Monitoring
 
Introducción a Azure Machine Learning
Introducción a Azure Machine LearningIntroducción a Azure Machine Learning
Introducción a Azure Machine Learning
 

Similar to La receta de la abuela para mejores cargas de datos

Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
victdiazm
 

Similar to La receta de la abuela para mejores cargas de datos (20)

FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
 
ORACLE - ADVANCED COMPRESSION OPTION.pptx
ORACLE  - ADVANCED COMPRESSION OPTION.pptxORACLE  - ADVANCED COMPRESSION OPTION.pptx
ORACLE - ADVANCED COMPRESSION OPTION.pptx
 
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
 
Transferencia de datos en Oracle
Transferencia de datos en OracleTransferencia de datos en Oracle
Transferencia de datos en Oracle
 
Vistazo a SQL Server 2016
Vistazo a SQL Server 2016Vistazo a SQL Server 2016
Vistazo a SQL Server 2016
 
Abf leccion 09
Abf leccion 09Abf leccion 09
Abf leccion 09
 
Base de datos
Base de datosBase de datos
Base de datos
 
Data Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdfData Warehouse en las empresas y negocios.pdf
Data Warehouse en las empresas y negocios.pdf
 
Nuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTPNuevo motor relacional In-memory OLTP
Nuevo motor relacional In-memory OLTP
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.MySQL Cluster: El ‘qué’ y el ‘cómo’.
MySQL Cluster: El ‘qué’ y el ‘cómo’.
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
Arranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de trazaArranque y parada de la base de datos. Ficheros de traza
Arranque y parada de la base de datos. Ficheros de traza
 
Copia de-mandante
Copia de-mandanteCopia de-mandante
Copia de-mandante
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Preguntas y respuestas Técnicas de SAP HANA
Preguntas y respuestas Técnicas  de SAP HANAPreguntas y respuestas Técnicas  de SAP HANA
Preguntas y respuestas Técnicas de SAP HANA
 
2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD2.8 Comandos generales de alta y baja del SGBD
2.8 Comandos generales de alta y baja del SGBD
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura Oracle
 
Diagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOnDiagnóstico y resolución problemas mirroring AlwaysOn
Diagnóstico y resolución problemas mirroring AlwaysOn
 

More from SpanishPASSVC

More from SpanishPASSVC (14)

Creación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nubeCreación de un modelo de análisis predictivo en la nube
Creación de un modelo de análisis predictivo en la nube
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
AlwaysON Lecciones Aprendidas
AlwaysON Lecciones AprendidasAlwaysON Lecciones Aprendidas
AlwaysON Lecciones Aprendidas
 
Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016Data Science con Microsoft R Server y SQL Server 2016
Data Science con Microsoft R Server y SQL Server 2016
 
Mejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación TransaccionalMejoras de Rendimiento para Replicación Transaccional
Mejoras de Rendimiento para Replicación Transaccional
 
Como leer planes de ejecución
Como leer planes de ejecuciónComo leer planes de ejecución
Como leer planes de ejecución
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreo
 
Planeando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft AzurePlaneando e implementando servicios de datos con Microsoft Azure
Planeando e implementando servicios de datos con Microsoft Azure
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
Minería de datos / Machine Learning
Minería de datos / Machine LearningMinería de datos / Machine Learning
Minería de datos / Machine Learning
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (10)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

La receta de la abuela para mejores cargas de datos

  • 1. La receta de la abuela para mejores cargas de datos Alejandro Cordero Database Consultant – Pythian Group Correo electrónico: alejandro@sqlturbo.com Twitter: @ale_corderocr LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr BLOG: Sqlturbo.com MCTS, CSM
  • 2. Speaker Bio 2 Picture Here Speaker Bio - Alejandro Cordero 2 SQLTURBO.COM DBA en Pythian Scrum Master Certified alejandro@sqlturbo.com
  • 3. 3 Agenda El papel de los modelos de recuperación Operaciones “Minimally logged” TraceFlag 610 Importando con SSIS Importando con BCP Importando con Bulk Insert Importando con Select Into / Insert .. Select Conclusiones de la abuela 3
  • 4. 4 Transacción Completa 4 1 3 write-ahead logging (WAL) sincrónico 2 Transacción Bitacora de transacciones O transaction log Archivo de datos O Data file Modelos de Recuperación • Full – Se guardan todas las operaciones. • Bulk-logged – Se guardan operaciones excepto ciertas operaciones de carga de alto rendimiento. • Simple – Solo guarda información temporalmente y son truncadas luego de un checkpoint.
  • 5. 5 Operaciones Minimally Logged SSIS Bcp BULK INSERT INSERT... SELECT Select into operations 5
  • 6. 6 Páginas y Extents de datos Página de datos - 8 KB Extent – unidad básica -8 páginas o 64kb Las páginas pueden ser fully logged O Minimally logged y en un Mixed extent Esto puede pasar para una página que sea De datos o de índices, significa que en un Extent mixto puedo tener también un Comportamiento Mixto, donde mis Páginas de datos son Minimally logged Pero las páginas de los índices son Fully logged. El mejor escenario es cuando Logro que mis páginas de Datos e índices sean Minimally logged.
  • 7. 7 Ingredientes para una carga de datos -Pre requisitos para operaciones ML- Base de datos en Simple/Bulk Load La tabla no esta siendo replicada La tabla es bloqueada por medio de un TABLOCK Si la tabla no tiene índices, las paginas de datos son “Minimally logged” Si la tabla no tiene índice Clustered y tiene índices Non Clustered las páginas de datos son “Minimally logged”, sin embargo las páginas de los índices serán ML solo si la tabla esta vacía
  • 8. 8 Ingredientes para una carga de datos -Pre requisitos para operaciones ML- Si la tabla tiene un índice clustered y está vacía ambas paginas de índice y de datos son Minimally logged. En contraste si la tabla no está vacía la operación será Fully Logged Mejores Prácticas Para conservar tamaño: Trate de hacer varios bulk loads en diferentes batches. Cada vez que termina un batch El log puede ser limpiado por un transaction log backup cuando se está en bulk-logged mode. Péro El primer batch será Minimally logged…..los demás serán Mixtos o Full.
  • 9. 9 Traceflag 610 – el Ingrediente secreto Cuando se usa este traceflag se habilita la posibilidad De hacer operaciones minimally logged Sobre índices B-tree, los árboles B, son el algoritmo usado por SQL Server en sus índices. De esta forma podrémos tener operaciones ML sobre Índices clustered llenos . Con ciertas excepciones. Solo cuando el dato se guarda sobre una página nueva y no dentro de una existente, este va a ser ML. non-FULL recovery model AND NOT replicated AND ( (Heap AND TABLOCK) OR (B-tree AND empty AND TABLOCK) OR (B-tree AND empty AND TF-610) OR (B-tree AND nonempty AND TF-610 AND NEW key-range) Mejores Prácticas : cuando se usa el t610 Usar el batchsize más grande posible DBCC TRACEON (610, -1);
  • 11. 11 Cuando se hace una operación Minimally Logged Table Indexes Rows in table Hints Without TF 610 With TF 610 Concurrent possible Heap Any TABLOCK Minimal Minimal Yes Heap Any None Full Full Yes Heap + Index Any TABLOCK Full Depends (3) No Cluster Empty TABLOCK, ORDER (1) Minimal Minimal No Cluster Empty None Full Minimal Yes (2) Cluster Any None Full Minimal Yes (2) Cluster Any TABLOCK Full Minimal No Cluster + Index Any None Full Depends (3) Yes (2) Cluster + Index Any TABLOCK Full Depends (3) No
  • 12. 12 El plato Principal – la carga de datos SSIS BCP BULK INSERT SELECT INTO INSERT SELECT
  • 13. Comparativa de Rendimiento entre las 5 recetas SSIS BCP BULK INSERT SELECT INTO INSERT SELECT
  • 14. 14 Resumen Functionality Integration Services BULK INSERT BCP INSERT … SELECT SQL Dest. OLE DB Dest Protocol Shared Memory TCP/IP Named Pipes In Memory TCP/IP Shared Memory Named Pipes In Memory Speed Faster / Fastest(4) Fast / Fastest (1) Fastest Fast Slow / Fastest (2) Data Source Any Any Data File Only Data File Only Any OLE DB Bulk API Support Not Native Not ORDER Not Native All All No Hints Allowed Lock taken with TABLOCK hint on heap BU BU BU BU X Can transform in transit Yes Yes No No Yes I/O Read block Size Depends(3) Depends(3) 64 kilobytes (KB) 64 KB Up to 512 KB SQL Server Version 2005 and 2008 2005 and 2008 7.0, 2000, 2005, and 2008 6.0, 7.0, 2000, 2005, and 2008 2008 Invoked from DTEXEC / BIDS DTEXEC / BIDS Transact-SQL Command Line Transact-SQL
  • 15. Cargas de datos simultaneas
  • 16. 16 Conclusiones Usar Traceflag 610 – Pero, probar primero! Usar SSIS o bulk Insert de preferencia Tomar en cuenta espacio necesario para el crecimiento Tomar en cuenta el modelo de recuperación Tomar en cuenta CPU disponibles Tomar en cuenta si tengo trasaction logs corriendo.
  • 17. Preguntas? Correo electrónico: alejandro@sqlturbo.com Twitter: @ale_corderocr LinkedIn: https://cr.linkedin.com/in/alejandrocorderocr BLOG: Sqlturbo.com MCTS, CSM
  • 18. Thank You for Attending Follow @pass24hop Share your thoughts with hashtags #pass24hop & #sqlpass