sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server 2008:Inaktivera index på en viss tabellpartition

Index finns vanligtvis på partitionsschemat. För scenariot du talar om kan du faktiskt ladda upp en ny tabell med batchen (identisk struktur, annat namn) och sedan använda kommandot SWITCH för att lägga till den här tabellen som en ny partition i din befintliga tabell.

Jag har inkluderat kod som jag använder för att utföra detta, du måste ändra den baserat på dina tabellnamn:

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;



  1. Hur man ställer in timeout för en lagrad procedur i SQL Server

  2. Hur man lagrar sqlite-databas direkt på sdcard

  3. MySQL-fråga INNER JOIN med alias

  4. Återställning fungerar inte i Oracle med Liquibase