¿Existe una lista completa de operaciones en línea para cada versión de SQL Server?

20

Cuando estamos a punto de cambiar algunas de las tablas grandes en nuestra base de datos de 5 TB, me encontré necesitando una lista de las operaciones que se pueden realizar en línea y que requieren bloqueos completos mientras se ejecutan. Idealmente, esta lista también contendría información sobre qué declaraciones requieren que el bloqueo SCH-M se confirme al final.

Si bien conozco la mayoría de ellos por mi tiempo en Microsoft, me sorprendió no poder encontrar una lista pública de operaciones en línea a medida que evolucionaron desde SQL Server 2005 y hasta el CTP de 2014.

¿Alguien tiene esa lista disponible? Si no, puedo decidir crearlo.

Thomas Kejser
fuente
44
Creo que puede estar viendo esto desde el lado equivocado del espectro. En lugar de interpolar lo que puede hacer en línea, debe tomar lo que necesita hacer y descubrir qué se puede hacer en línea. "en línea" es un término muy genérico, y como denota depende de la concurrencia. Mi pregunta de seguimiento sería, "¿qué estás tratando de hacer exactamente?"
Thomas Stringer el
2
No estoy de acuerdo con @ThomasStringer: las elecciones que harás en un sistema grande dependerán de lo que puedas hacer, no de lo que quieras hacer. Me gustaría que todo esté en línea, pero sé que eso no es posible, así que estoy tratando de mapear el espacio de diseño.
Thomas Kejser
"Estamos a punto de cambiar algunas de las tablas grandes" ... ¿Qué estás cambiando? A eso es a lo que estoy tratando de llegar. Dudo que su agenda le permita proponer cosas aleatorias para hacer en una tabla grande en una base de datos grande, por lo que debe tener en mente alguna operación. Si está buscando qué operaciones requieren estabilidad de esquema o modificar bloqueos, eso es algo completamente diferente. Nuevamente ... "en línea" está en el ojo del espectador / solicitante.
Thomas Stringer el
2
Si no se encuentra una fuente autorizada, sería útil que los futuros lectores enumeren lo que sabe que es una operación en línea de su tiempo en la EM.
billinkc
8
¿Cómo va la lista? :)
nmad

Respuestas:

5

Suena como una empresa. Las operaciones de índice en línea no están disponibles en todas las ediciones de Microsoft SQL Server, con suerte esto puede ayudarlo a comenzar (está en forma de tabla):

SQL Server 2012: http://msdn.microsoft.com/en-us/library/ms190981.aspx

SQL Server 2008R2: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.105).aspx

SQL Server 2008: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.100).aspx

SQL Server 2005: http://msdn.microsoft.com/en-us/library/ms190981(v=sql.90).aspx

Elevador de Java
fuente
5

SQL Server 2014 no introduce nuevas operaciones en línea per se, pero mejora varias operaciones para aumentar la disponibilidad. De la sección de novedades :

Cambio de partición e indexación

Las particiones individuales de las tablas particionadas ahora se pueden reconstruir. Para obtener más información, vea ALTER INDEX (Transact-SQL).

y

Administrar la prioridad de bloqueo de las operaciones en línea

La opción ONLINE = ON ahora contiene una opción WAIT_AT_LOW_PRIORITY que le permite especificar cuánto tiempo debe esperar el proceso de reconstrucción para los bloqueos necesarios. La opción WAIT_AT_LOW_PRIORITY también le permite configurar la finalización de los procesos de bloqueo relacionados con esa declaración de reconstrucción. Para obtener más información, vea ALTER TABLE (Transact-SQL) y ALTER INDEX (Transact-SQL). La información de resolución de problemas sobre nuevos tipos de estados de bloqueo está disponible en sys.dm_tran_locks (Transact-SQL) y sys.dm_os_wait_stats (Transact-SQL).

Jos de Bruijn - MSFT
fuente