El artículo escrito por Paul sobre las copias de seguridad internas es excelente y debes leerlo. Agregando a lo que otros han dicho y enfatizando en parte específica de su pregunta
También escuché que la copia de seguridad es de un solo subproceso, lo que significa que usa solo un núcleo, suponiendo que realice una copia de seguridad en un solo archivo. También suponiendo que tenga una máquina multinúcleo, por ejemplo 16 núcleos, o al menos un número significativamente mayor que uno.
Operación de copia de seguridad, can use parallelism
pero recuerde que este no es el paralelismo impulsado por Optimizer en SQL Server, sino la cantidad de discos involucrados desde donde la copia de seguridad tiene que leer el archivo de datos y donde la copia de seguridad escribe el archivo de datos y la cantidad de archivos de copia de seguridad creados.
No puede usar la MAXDOP
sugerencia mientras realiza la copia de seguridad de SQL Server
No puede generar un plan de ejecución en SSMS para una operación simple de copia de seguridad de TSQL.
El paralelismo impulsado por el optimizador de consultas en SQL Server es básicamente para los operadores involucrados (en realidad es más complejo, pero por simplicidad puede tomar esto) ya que la operación de copia de seguridad no involucra a ningún operador como tal, no puede usar el paralelismo impulsado por el optimizador.
Escribí un artículo en Technet Wiki sobre Copia de seguridad y paralelismo donde usé ejemplos simples para explicar el paralelismo durante la copia de seguridad de SQL Server. La siguiente es la conclusión.
Si los archivos de la base de datos están en varios discos, la operación de copia de seguridad se iniciará en el hilo por unidad de dispositivo para leer los datos. Del mismo modo, si la restauración se realiza en múltiples unidades / puntos de montaje, la operación de respaldo iniciaría un subproceso por unidad / punto de montaje
Incluso si está volcando varias copias de copia de seguridad en la misma unidad, tendríamos un subproceso por archivo de copia de seguridad volcado.
El paralelismo asociado con la copia de seguridad está relacionado con las franjas. Cada banda tiene su propio subproceso de trabajo y esa es realmente la única parte de la copia de seguridad / restauración que se debe considerar como operaciones paralelas.
El grado máximo de paralelismo no afecta la operación de respaldo.
Paul y Bob Dorr me dieron una opinión experta sobre esto.
Entonces, ¿qué sucede cuando se ejecuta una tarea de respaldo? ¿Y también hay diferencias significativas para las diferentes versiones? por ejemplo 2008,2012 y 2014 (no las licencias).
Te sugiero que leas este artículo de blog.msdn de Bob Dorr. Algunos puntos importantes que enfatizó son
Cuando se inicia una copia de seguridad, crea una serie de buffers, asignados desde la memoria fuera del grupo de buffer. El objetivo suele ser de 4 MB para cada búfer, lo que resulta en aproximadamente 4 a 8 búferes. Los detalles sobre el cálculo se encuentran en: http://support.microsoft.com/kb/904804/en-us
Los buffers se transfieren entre las colas libre y de datos. El lector extrae un búfer libre, lo llena de datos y lo coloca en la cola de datos. Los escritores extraen los buffers de datos llenos de la cola de datos, procesan el buffer y lo devuelven a la lista libre.
Obtiene un escritor por dispositivo de respaldo, cada uno de los cuales se recupera de la cola de datos. Entonces, un comando de respaldo con cuatro (4) especificaciones de disco tendrá cuatro escritores y un lector. El lector usa E / S asíncrona para que pueda mantenerse al día con los escritores.
Puede habilitarlos trace flags 3213 and 3605
, ambos no están documentados, así que úselo en un entorno de prueba y vea qué mensaje interesante se encuentra en el registro de errores de SQL Server. Algo parecido a continuación aparecería
Memory limit: 249MB
BufferCount: 7
Sets Of Buffers: 1
MaxTransferSize: 1024 KB
Min MaxTransferSize: 64 KB
Total buffer space: 7 MB
Tabular data device count: 1
Fulltext data device count: 0
Filestream device count: 0
TXF device count: 0
Filesystem i/o alignment: 512
Media Buffer count: 7
Media Buffer size: 1024KB
No conozco ningún cambio significativo en el código de respaldo para varias versiones, tales cosas no están documentadas. Solo conozco la mejora introducida en SQL Server 2012 SP1 Cumulative Update 2,
habilitar la copia de seguridad y restauración desde el servicio de almacenamiento Blob de Windows Azure desde SQL Server usando TSQL o SMO. Leer aquí