sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2008:deshabilite el índice en una partición de tabla en particular

Los índices suelen estar en el esquema de partición. Para el escenario del que está hablando, puede cargar una nueva tabla con el lote (estructura idéntica, nombre diferente) y luego usar el comando SWITCH para agregar esta tabla como una nueva partición en su tabla existente.

He incluido el código que utilizo para realizar esto, deberá modificarlo en función de los nombres de sus tablas:

DECLARE @importPart int
DECLARE @hourlyPart int

SET @importPart = 2 -- always, so long as the Import table is only made up of 1 partition

-- get the Hourly partition
SELECT 
    @hourlyPart = MAX(V.boundary_id) + 1
FROM 
    sys.partition_range_values V
JOIN    sys.partition_functions F
    ON  V.function_id = F.function_id
    AND F.name = 'pfHourly'

ALTER TABLE Import
SWITCH PARTITION @importPart
TO Hourly PARTITION @hourlyPart;