/ / soltar índice a nivel de partición - servidor sql, indexación

índice de caída a nivel de partición - servidor sql, indexación

¿Sabe si hay alguna forma de hacer esto en SQL Server (2008)?

Estoy trabajando en un proceso de carga de DataWarehouse,así que lo que quiero hacer es eliminar los índices de la partición que se está cargando para que pueda realizar una carga masiva rápida, y luego puedo reconstruir nuevamente el índice a nivel de partición.

Creo que en Oracle es posible lograr esto, pero tal vez no en SQL Server.

Gracias, Víctor

Respuestas

1 para la respuesta № 1

No, no puede "descartar los índices de una tabla solo por unpartición única. Sin embargo, SQL 2008 proporciona una metodología para la carga masiva que implica configurar una segunda tabla con exactamente el mismo esquema en una partición separada en el mismo grupo de archivos, cargarla, indexarla exactamente de la manera, luego "cambiar" su nueva partición con una partición vacía existente en la tabla de producción.

Sin embargo, esta es una descripción muy simplificada. Aquí está el artículo de MSDN para SQL 2008 sobre cómo implementar esto: http://msdn.microsoft.com/en-us/library/ms191160.aspx


0 para la respuesta № 2

Sé que no fue posible en SQL 2005. No he oído hablar de nada que le permita hacer esto en 2008, pero podría estar allí (he leído pero aún no lo he usado). Lo más cercano que pude obtener fue deshabilitar el índice, pero si deshabilitas un índice agrupado ya no puedes acceder a la tabla. No es tan útil, imho.

Mi solución para nuestro proyecto Warehouse ETL fuecree una tabla con todos los índices y restricciones de indexación (PK, UQ). Durante ETL, recorremos la tabla (para el conjunto deseado de tablas que se están cargando), eliminamos los índices / restricciones de indexación, cargamos los datos, luego recorremos la tabla de nuevo y volvemos a crear los índices / restricciones. Un poco feo y un poco incómodo, pero una vez en funcionamiento no se rompe, y tiene la ventaja añadida de índices recién creados (es decir, sin fragmentación, y el factor de relleno puede ser 100). Agregar / modificar / eliminar índices también es incómodo , pero no tan difícil

Podrías hacerlo dinámicamente - lee y almacena elDefiniciones de índices / restricciones de la tabla de destino, eliminarlas, cargar datos, luego generar y ejecutar dinámicamente los scripts de (re) creación de sus datos almacenados. Pero, si algo se estrella durante la carrera, estás muerto. (Es por eso que me instalé en mesas permanentes.)

Considero que esto funciona muy bien con la partición de tablas, ya que usted hace todo el trabajo en las tablas de "Carga" y las tablas en vivo (dbo, para nosotros) están intactas.