Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure 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
Az Object Explorerben kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblát tartalmazó adatbázis kibontásához.
A pluszjelre kattintva bontsa ki a Táblák mappát.
Kattintson a jobb gombbal az áthelyezni kívánt indexet tartalmazó táblára, és válassza Tervezéslehetőséget.
A Táblatervező menüben kattintson Indexek/Kulcsokelemre.
Jelölje ki az áthelyezni kívánt indexet.
A főrácson bontsa ki az adattér specifikáció-t.
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.
Kattintson bezárása gombra.
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
Az Object Explorerben kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblát tartalmazó adatbázis kibontásához.
A pluszjelre kattintva bontsa ki a Táblák mappát.
Kattintson a pluszjelre az áthelyezni kívánt indexet tartalmazó táblázat kibontásához.
A pluszjelre kattintva nyissa ki a Indexek mappát.
Kattintson a jobb gombbal az áthelyezni kívánt indexre, és válassza Tulajdonságoklehetőséget.
A Lap kiválasztásacsoportban válassza a Tároláslehetőséget.
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.
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
Az Object Explorer-ben csatlakozzon az adatbázismotor egy példányához.
A Standard sávon kattintson Új lekérdezéselemre.
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).