インデックス オプションの設定Set Index Options

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database

このトピックでは、 SQL Server 2019 (15.x)SQL Server 2019 (15.x) におけるインデックスのプロパティを、 SQL Server Management StudioSQL Server Management Studio または Transact-SQLTransact-SQLを使用して変更する方法について説明します。This topic describes how to modify the properties of an index in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

この記事の内容In This Article

はじめにBefore You Begin

制限事項と制約事項Limitations and Restrictions

  • ALTER INDEX ステートメントに SET 句を使用することによって、次の各オプションが直ちにインデックスに適用されます:ALLOW_PAGE_LOCKS、ALLOW_ROW_LOCKS、OPTIMIZE_FOR_SEQUENTIAL_KEY、IGNORE_DUP_KEY、STATISTICS_NORECOMPUTE。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, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY, and STATISTICS_NORECOMPUTE.
  • ALTER INDEX REBUILD または CREATE INDEX WITH DROP_EXISTING を使用してインデックスを再構築するときは、次の各オプションを設定できます:PAD_INDEX、FILLFACTOR、SORT_IN_TEMPDB、IGNORE_DUP_KEY、STATISTICS_NORECOMPUTE、ONLINE、ALLOW_ROW_LOCKS、ALLOW_PAGE_LOCKS、MAXDOP、DROP_EXISTING (CREATE INDEX のみ)。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

PermissionsPermissions

テーブルまたはビューに対する 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. インデックス列の位置を追加、削除、または変更するには、[インデックスのプロパティ - index_name] ダイアログ ボックスから [全般] ページを選択します。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

次の例では、AdventureWorks データベースのテーブル内のすべてのインデックスのプロパティを示します。The following example shows the properties of all indexes in a table in the AdventureWorks database.

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')
;

インデックスのプロパティを設定するにはTo set the properties of an index

次の例では、AdventureWorks データベース内のインデックスのプロパティを設定します。The following examples set the properties of indexes in the AdventureWorks database.

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
   )
;

詳細については、「ALTER INDEX (Transact-SQL)」を参照してください。For more information, see ALTER INDEX (Transact-SQL).