Megosztás a következőn keresztül:


Meglévő index áthelyezése másik fájlcsoportba

A következőkre vonatkozik:SQL ServerAzure SQL Felügyelt példány

Ez a témakör azt ismerteti, hogyan helyezhet át egy meglévő indexet az aktuális fájlcsoportból egy másik fájlcsoportba az SQL Serverben az SQL Server Management Studio vagy a Transact-SQL használatával.

Ha tervezési szempontokat szeretne figyelembe venni, beleértve azt is, hogy miért érdemes egy nemclustered indexet egy másik fájlcsoportra helyezni, tekintse meg az indexelhelyezést a fájlcsoportokon vagy partíciós sémákon.

Mielőtt hozzákezdene

Korlátozások és korlátozások

  • Ha egy tábla fürtözött indexet tartalmaz, a fürtözött index áthelyezése egy új fájlcsoportba áthelyezi a táblát az adott fájlcsoportba.

  • A Management Studióval nem helyezheti át az EGYEDI vagy ELSŐDLEGES KULCS kényszerrel létrehozott indexeket. Az indexek áthelyezéséhez használja a CREATE INDEX utasítást a Transact-SQL parancsban az (DROP_EXISTING=ON) opcióval.

Biztonság

Engedélyek

ALTER engedélyre van szükség az táblához vagy nézethez. A felhasználónak tagja kell lennie a sysadmin rögzített kiszolgálói szerepkörnek, illetve a db_ddladmin és db_owner rögzített adatbázis-szerepköröknek.

Az SQL Server Management Studio használata

Meglévő index áthelyezése másik fájlcsoportba a Table Designer használatával

  1. Az Object Explorerben kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblát tartalmazó adatbázis kibontásához.

  2. A pluszjelre kattintva bontsa ki a Táblák mappát.

  3. Kattintson a jobb gombbal az áthelyezni kívánt indexet tartalmazó táblára, és válassza Tervezéslehetőséget.

  4. A Táblatervező menüben kattintson Indexek/Kulcsokelemre.

  5. Jelölje ki az áthelyezni kívánt indexet.

  6. A főrácson bontsa ki az adattér specifikáció-t.

  7. Válassza Fájlcsoport vagy partícióséma neve lehetőséget, és válassza ki a listából azt a fájlcsoportot vagy partíciós sémát, ahová az indexet át szeretné helyezni.

  8. Kattintson bezárása gombra.

  9. A Fájl menüben válassza a Mentéstable_namelehetőséget.

Meglévő index áthelyezése másik fájlcsoportba az Object Explorerben

  1. Az Object Explorerben kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblát tartalmazó adatbázis kibontásához.

  2. A pluszjelre kattintva bontsa ki a Táblák mappát.

  3. Kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblázat kibontásához.

  4. A pluszjelre kattintva nyissa ki a Indexek mappát.

  5. Kattintson a jobb gombbal az áthelyezni kívánt indexre, és válassza Tulajdonságoklehetőséget.

  6. A Lap kiválasztásacsoportban válassza a Tároláslehetőséget.

  7. Jelölje ki azt a fájlcsoportot, amelyben az indexet át szeretné helyezni.

    Ha a tábla vagy index particionált, válassza ki azt a partíciós sémát, amelyben az indexet át szeretné helyezni. További információ a particionált indexekről: Particionált táblák és indexek.

    Fürtözött index áthelyezésekor használhat online feldolgozást. Az online feldolgozás lehetővé teszi, hogy a felhasználók egyidejűleg hozzáférjenek a mögöttes adatokhoz és a nem rendezett indexekhez az indexművelet során. További információ: Indexműveletek online végrehajtása.

    Az SQL Servert használó többprocesszoros számítógépeken a maximális párhuzamossági érték megadásával konfigurálhatja az indexelési utasítás végrehajtásához használt processzorok számát. A párhuzamos indexműveleti funkció nem érhető el az SQL Server minden kiadásában. Az SQL Server kiadásai által támogatott funkciók listáját az SQL Server 2016 kiadásai által támogatott szolgáltatásokban találja. A párhuzamos indexműveletekkel kapcsolatos további információkért lásd: Párhuzamos indexelési műveletek konfigurálása.

  8. Kattintson az OKgombra.

Az alábbi információk megtalálhatók a Index Tulajdonságok –index_name párbeszédpanel Storage oldalán:

Fájlcsoport
Az indexet a megadott fájlcsoportban tárolja. A lista csak a standard (sor) fájlcsoportokat jeleníti meg. Az alapértelmezett listakijelölés az adatbázis ELSŐDLEGES fájlcsoportja.

Fájlstream fájlcsoport
A FILESTREAM-adatok fájlcsoportjának megadása. Ez a lista csak a FILESTREAM fájlcsoportokat jeleníti meg. Az alapértelmezett listakijelölés az ELSŐDLEGES FILESTREAM fájlcsoport.

partíciós séma
Az indexet egy partíciós sémában tárolja. A partíciós séma kattintása engedélyezi az alábbi rácsot. Az alapértelmezett listakijelölés a táblaadatok tárolására használt partícióséma. Ha egy másik partíciós sémát választ ki a listában, a rács adatai frissülnek.

A partíciós séma beállítás nem érhető el, ha az adatbázisban nincsenek partíciós sémák.

Filestream partíciós séma
A FILESTREAM-adatok partíciós sémájának megadása. A partíciósémának szimmetrikusnak kell lennie a Partícióséma beállításban megadott sémával.

Ha a tábla nincs particionált, a mező üres.

Partíciós Séma Paramétere
Megjeleníti a partíciós sémában részt vevő oszlop nevét.

táblázatoszlop
Válassza ki a táblát vagy nézetet a partíciós sémához való leképezéshez.

oszlop adattípusa
Megjeleníti az oszlop adattípus-adatait.

Jegyzet

Ha a tábla oszlopa számított oszlop, oszlop adattípusa a "számított oszlop" értéket jeleníti meg.

DML-utasítások online feldolgozásának engedélyezése az index áthelyezése közben
Lehetővé teszi a felhasználók számára, hogy az indexművelet során hozzáférjenek az alapul szolgáló táblához vagy fürtözött indexadatokhoz, valamint a kapcsolódó nem fürtözött indexekhez.

Jegyzet

Ez a beállítás nem érhető el XML-indexekhez vagy ha az index letiltott klaszterezett index.

A párhuzamosság maximális fokának beállítása
Korlátozza a párhuzamos terv végrehajtása során használni kívánt processzorok számát. Az alapértelmezett érték (0) az elérhető CPU-k tényleges számát használja. Az érték 1 értékre állítása letiltja a párhuzamos tervgenerálást; Ha az értéket 1-nél nagyobb számra állítja, az korlátozza az egyetlen lekérdezés végrehajtásához használt processzorok maximális számát. Ez a beállítás csak akkor válik elérhetővé, ha a párbeszédpanel Újraépítés vagy Újralétrehozás állapotban van.

Jegyzet

Ha a rendelkezésre álló CPU-k számánál nagyobb érték van megadva, a rendszer a rendelkezésre álló CPU-k tényleges számát használja.

A Transact-SQL használata

Meglévő index áthelyezése másik fájlcsoportba

  1. Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.

  2. A Standard sávon kattintson Új lekérdezéselemre.

  3. Másolja és illessze be a következő példát a lekérdezési ablakba, és kattintson a Végrehajtásgombra.

    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  
    

Következő lépések

További információ: CREATE INDEX (Transact-SQL).

SQL Server index architektúrája és tervezési útmutatója