인덱스 옵션 설정Set Index Options

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터)예Azure SQL Database아니요Azure SQL Data Warehouse아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에서 인덱스 속성을 수정하는 방법에 대해 설명합니다.This topic describes how to modify the properties of an index in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

  • ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY 및 STATISTICS_NORECOMPUTE 옵션은 ALTER INDEX 문에서 SET 절을 사용하면 즉시 인덱스에 적용됩니다.The following options are immediately applied to the index by using the SET clause in the ALTER INDEX statement: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, IGNORE_DUP_KEY, and STATISTICS_NORECOMPUTE.

  • PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP 및 DROP_EXISTING(CREATE INDEX의 경우에만) 옵션은 ALTER INDEX REBUILD 또는 CREATE INDEX WITH DROP_EXISTING 중 하나를 사용하여 인덱스를 다시 작성할 때 설정할 수 있습니다.The following options can be set when you rebuild an index by using either ALTER INDEX REBUILD or CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP, and DROP_EXISTING (CREATE INDEX only).

보안 Security

사용 권한 Permissions

테이블이나 뷰에 대한 ALTER 권한이 필요합니다.Requires ALTER permission on the table or view.

SQL Server Management Studio 사용 Using SQL Server Management Studio

테이블 디자이너에서 인덱스 속성을 수정하려면To modify the properties of an index in Table Designer

  1. 개체 탐색기에서 더하기 기호를 클릭하여 인덱스 속성을 수정할 테이블이 포함된 데이터베이스를 확장합니다.In Object Explorer, click the plus sign to expand the database that contains the table on which you want to modify an index’s properties.

  2. 더하기 기호를 클릭하여 테이블 폴더를 확장합니다.Click the plus sign to expand the Tables folder.

  3. 인덱스 속성을 수정할 테이블을 마우스 오른쪽 단추로 클릭하고 디자인을 선택합니다.Right-click the table on which you want to modify an index’s properties and select Design.

  4. 테이블 디자이너 메뉴에서 인덱스/키를 클릭합니다.On the Table Designer menu, click Indexes/Keys.

  5. 수정할 인덱스를 선택합니다.Select the index that you want to modify. 주 표에 속성이 표시됩니다.Its properties will show up in the main grid.

  6. 속성의 설정을 변경하여 인덱스를 사용자 지정합니다.Change the settings of any and all properties to customize the index.

  7. 닫기를 클릭합니다.Click Close.

  8. 파일 메뉴에서 table_name 저장을 선택합니다.On the File menu, select Savetable_name.

개체 탐색기에서 인덱스 속성을 수정하려면To modify the properties of an index in Object Explorer

  1. 개체 탐색기에서 더하기 기호를 클릭하여 인덱스 속성을 수정할 테이블이 포함된 데이터베이스를 확장합니다.In Object Explorer, click the plus sign to expand the database that contains the table on which you want to modify an index’s properties.

  2. 더하기 기호를 클릭하여 테이블 폴더를 확장합니다.Click the plus sign to expand the Tables folder.

  3. 더하기 기호를 클릭하여 인덱스 속성을 수정할 테이블을 확장합니다.Click the plus sign to expand the table on which you want to modify an index’s properties.

  4. 더하기 기호를 클릭하여 인덱스 폴더를 확장합니다.Click the plus sign to expand the Indexes folder.

  5. 속성을 수정할 인덱스를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.Right-click the index of which you want to modify the properties and select Properties.

  6. 페이지 선택아래에서 옵션을 선택합니다.Under Select a page, select Options.

  7. 속성의 설정을 변경하여 인덱스를 사용자 지정합니다.Change the settings of any and all properties to customize the index.

  8. 인덱스 열을 추가 또는 제거하거나 그 위치를 변경하려면 인덱스 속성 - 일반 일반 페이지를 선택합니다.To add, remove, or change the position of an index column, select the General page from the Index Properties - index_name dialog box. 자세한 내용은 Index Properties F1 Help를 참조하세요.For more information, see Index Properties F1 Help

Transact-SQL 사용 Using Transact-SQL

테이블에 있는 모든 인덱스의 속성을 보려면To see the properties of all the indexes in a table

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    USE AdventureWorks2012;  
    GO  
    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');   
    GO  
    

인덱스의 속성을 설정하려면To set the properties of an index

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following examples into the query window and click Execute.

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

    자세한 내용은 ALTER INDEX(Transact-SQL)를 참조하세요.For more information, see ALTER INDEX (Transact-SQL).