Dela via


Ange indexalternativ

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Det här avsnittet beskriver hur du ändrar egenskaperna för ett index i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

I den här artikeln

Innan du börjar

Begränsningar och restriktioner

  • Följande alternativ tillämpas omedelbart på indexet med SET-satsen i ALTER INDEX-instruktionen: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY och STATISTICS_NORECOMPUTE.
  • Följande alternativ kan anges när du återskapar ett index genom att använda ALTER INDEX REBUILD eller CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP och DROP_EXISTING (gäller endast CREATE INDEX).

Säkerhet

Behörigheter

Kräver ALTER-behörighet på tabellen eller vyn.

Använda SQL Server Management Studio

Så här ändrar du egenskaperna för ett index i Tabelldesignern

  1. I Object Explorer klickar du på plustecknet för att expandera databasen som innehåller tabellen där du vill ändra ett indexs egenskaper.
  2. Klicka på plustecknet för att expandera mappen Tables.
  3. Högerklicka på tabellen där du vill ändra ett indexs egenskaper och välj Design.
  4. På menyn Table Designer klickar du på Index/Nycklar.
  5. Välj det index som du vill ändra. Dess egenskaper visas i huvudrutnätet.
  6. Ändra inställningarna för alla egenskaper för att anpassa indexet.
  7. Klicka på Stäng.
  8. På menyn Arkiv väljer du Sparatable_name.

Ändra egenskaperna för ett index i Object Explorer

  1. I Object Explorer klickar du på plustecknet för att expandera databasen som innehåller tabellen där du vill ändra ett indexs egenskaper.
  2. Klicka på plustecknet för att expandera mappen Tables.
  3. Klicka på plustecknet för att expandera tabellen där du vill ändra ett indexs egenskaper.
  4. Klicka på plustecknet för att expandera mappen Index.
  5. Högerklicka på indexet som du vill ändra egenskaperna för och välj Egenskaper.
  6. Under Välj en sida, välj Alternativ.
  7. Ändra inställningarna för alla egenskaper för att anpassa indexet.
  8. Om du vill lägga till, ta bort eller ändra positionen för en indexkolumn väljer du sidan Allmänt i dialogrutan Indexegenskaper –index_name. Mer information finns i Indexegenskaper F1 Hjälp

Använda Transact-SQL

Så här ser du egenskaperna för alla index i en tabell

I följande exempel visas egenskaperna för alla index i en tabell i AdventureWorks-databasen.

SELECT i.name AS index_name
   , i.type_desc
   , i.is_unique
   , ds.type_desc AS filegroup_or_partition_scheme
   , ds.name AS filegroup_or_partition_scheme_name
   , i.ignore_dup_key
   , i.is_primary_key
   , i.is_unique_constraint
   , i.fill_factor
   , i.is_padded
   , i.is_disabled
   , i.allow_row_locks
   , i.allow_page_locks
   , i.has_filter
   , i.filter_definition
FROM sys.indexes AS i
   INNER JOIN sys.data_spaces AS ds
      ON i.data_space_id = ds.data_space_id
   WHERE is_hypothetical = 0 AND i.index_id <> 0
       AND i.object_id = OBJECT_ID('HumanResources.Employee')
;

Så här anger du egenskaperna för ett index

I följande exempel anges egenskaperna för index i AdventureWorks-databasen.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;
ALTER INDEX ALL ON Production.Product
REBUILD WITH 
   (
       FILLFACTOR = 80
       , SORT_IN_TEMPDB = ON
       , STATISTICS_NORECOMPUTE = ON
   )
;

Mer information finns i ALTER INDEX (Transact-SQL).