Sdílet prostřednictvím


Přesunutí existujícího indexu do jiné skupiny souborů

platí pro:SQL Serverazure SQL Managed Instance

Toto téma popisuje, jak přesunout existující index z aktuální skupiny souborů do jiné skupiny souborů v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Jazyka Transact-SQL.

Aspekty návrhu, včetně důvodů, proč byste mohli chtít umístit neclusterovaný index do jiné skupiny souborů, najdete v tématu Umístění indexu u skupin souborů nebo schémat oddílů.

Než začnete

Omezení a restrikce

  • Pokud má tabulka clusterovaný index a tento index je přesunut do nové skupiny souborů, celá tabulka se přesune do této skupiny.

  • Indexy vytvořené pomocí omezení UNIQUE nebo PRIMARY KEY nelze přesunout pomocí sady Management Studio. K přesunutí těchto indexů použijte příkaz CREATE INDEX s možností (DROP_EXISTING=ON) v jazyce Transact-SQL.

Bezpečnost

Dovolení

Vyžaduje oprávnění ALTER v tabulce nebo zobrazení. Uživatel musí být členem pevné role serveru správce systému nebo pevné role databáze db_ddladmin a db_owner.

Použití aplikace SQL Server Management Studio

Přesunutí existujícího indexu do jiné skupiny souborů pomocí Návrháře tabulek

  1. V Průzkumníku objektů kliknutím na znaménko plus rozbalte databázi obsahující tabulku obsahující index, který chcete přesunout.

  2. Kliknutím na znaménko plus rozbalte složku Tabulky.

  3. Klikněte pravým tlačítkem myši na tabulku obsahující index, který chcete přesunout, a vyberte Návrh.

  4. V nabídce Návrhář tabulky klikněte na Indexy a klíče.

  5. Vyberte index, který chcete přesunout.

  6. V hlavní mřížce rozbalte Data Space Specification.

  7. Vyberte Název skupiny souborů nebo schématu oddílů a vyberte ze seznamu schéma skupiny souborů nebo oddílu do umístění, kam chcete index přesunout.

  8. Klikněte na Zavřít.

  9. V nabídce Soubor vyberte Uložittable_name.

Přesunutí existujícího indexu do jiné skupiny souborů v Průzkumníku objektů

  1. V Průzkumníku objektů kliknutím na znaménko plus rozbalte databázi obsahující tabulku obsahující index, který chcete přesunout.

  2. Kliknutím na znaménko plus rozbalte složku Tabulky.

  3. Kliknutím na znaménko plus rozbalte tabulku obsahující index, který chcete přesunout.

  4. Kliknutím na znaménko plus rozbalte složku Indexy.

  5. Klikněte pravým tlačítkem myši na index, který chcete přesunout, a vyberte Vlastnosti.

  6. V části Vyberte stránku, vyberte úložiště .

  7. Vyberte skupinu souborů, do které chcete index přesunout.

    Pokud je tabulka nebo index rozdělený na oddíly, vyberte schéma oddílů, ve kterém chcete index přesunout. Další informace o dělených indexech najdete v tématu Dělené tabulky a indexy.

    Pokud přesouváte clusterovaný index, můžete použít online zpracování. Online zpracování umožňuje souběžnému přístupu uživatelů k podkladovým datům a neclusterovaným indexům během operace indexu. Další informace naleznete v tématu Provádění operací indexu online.

    Na počítačích s více procesory používajících SQL Server můžete nakonfigurovat počet procesorů, které se používají ke spuštění příkazu indexu, zadáním maximálního stupně paralelismu. Funkce paralelních operací indexu není k dispozici v každé edici SQL Serveru. Seznam funkcí podporovaných edicemi SQL Serveru najdete v tématu Funkce podporované edicemi SQL Serveru 2016. Další informace o paralelních operacích indexu najdete v tématu Konfigurace operací paralelního indexu.

  8. Klepněte na tlačítko OK.

Následující informace jsou k dispozici na stránce Storage ve vlastnostech indexu -dialogové okno: index_name.

skupina souborů
Uloží index do zadané skupiny souborů. V seznamu se zobrazují jenom standardní (řádkové) skupiny souborů. Výchozí výběr seznamu je primární skupina souborů databáze.

Filestream souborová skupina
Určuje skupinu souborů pro data FILESTREAM. Tento seznam zobrazuje pouze skupiny souborů FILESTREAM. Výchozí výběr seznamu je primární skupina souborů FILESTREAM.

Schéma oddílu
Uloží index do schématu oddílů. Kliknutím na Schéma oddílů povolíte následující mřížku. Výchozí výběr seznamu je schéma oddílů, které se používá k ukládání dat tabulky. Když v seznamu vyberete jiné schéma oddílů, aktualizují se informace v mřížce.

Možnost schématu oddílů je nedostupná, pokud v databázi žádná schémata oddílů nejsou.

Filestreamový schémat oddílů
Určuje schéma diskových oddílů pro data FILESTREAM. Schéma oddílů musí být symetrické se schématem zadaným v možností schéma oddílů .

Pokud tabulka není rozdělená na oddíly, pole je prázdné.

Parametrizace Schématu Oddílů
Zobrazí název sloupce, který se účastní partičního schématu.

sloupec tabulky
Vyberte tabulku nebo zobrazení, které chcete přiřadit schématu oddílů.

datový typ sloupce
Zobrazí informace o datovém typu sloupce.

Poznámka

Pokud je sloupec v tabulce počítaný, Datový Typ Sloupce zobrazí "počítaný sloupec".

Povolit online zpracování příkazů DML při přesouvání indexu
Umožňuje uživatelům získat přístup k podkladovým tabulkovým nebo clusterovaným datům indexu a všem přidruženým neclusterovaným indexům během operace indexu.

Poznámka

Tato možnost nelze použít pro indexy XML, nebo pokud je index zakázaný shlukovaný index.

Nastavit maximální stupeň paralelismu
Omezuje počet procesorů, které se mají použít při paralelním provádění plánu. Výchozí hodnota 0 používá skutečný počet dostupných procesorů. Nastavení hodnoty na 1 potlačí generování paralelního plánu; nastavení hodnoty na číslo větší než 1 omezuje maximální počet procesorů používaných jedním spuštěním dotazu. Tato možnost je dostupná pouze v případě, že je dialogové okno v Přestavění nebo Vytvoření stavu.

Poznámka

Pokud je zadána hodnota větší než počet dostupných procesorů, použije se skutečný počet dostupných procesorů.

Použití Transact-SQL

Přesunutí existujícího indexu do jiné skupiny souborů

  1. V Průzkumník objektůse připojte k instanci databázového stroje.

  2. Na panelu Standard klikněte na Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a klikněte na Spustit.

    USE AdventureWorks2022;  
    GO  
    -- Creates the TransactionsFG1 filegroup on the AdventureWorks2022 database  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP TransactionsFG1;  
    GO  
    /* Adds the TransactionsFG1dat3 file to the TransactionsFG1 filegroup. Please note that you will have to change the filename parameter in this statement to execute it without errors.  
    */  
    ALTER DATABASE AdventureWorks2022   
    ADD FILE   
    (  
        NAME = TransactionsFG1dat3,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13\MSSQL\DATA\TransactionsFG1dat3.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP TransactionsFG1;  
    GO  
    /*Creates the IX_Employee_OrganizationLevel_OrganizationNode index  
      on the TransactionsPS1 filegroup and drops the original IX_Employee_OrganizationLevel_OrganizationNode index.  
    */  
    CREATE NONCLUSTERED INDEX IX_Employee_OrganizationLevel_OrganizationNode  
        ON HumanResources.Employee (OrganizationLevel, OrganizationNode)  
        WITH (DROP_EXISTING = ON)  
        ON TransactionsFG1;  
    GO  
    

Další kroky

Další informace naleznete v tématu CREATE INDEX (Transact-SQL).

průvodce architekturou a návrhem indexu SQL Serveru