このトピックでは、SQL Server Management Studio または Transact-SQL を使用して SQL Server 2014 のインデックスのプロパティを変更する方法について説明します。
このトピックの内容
作業を開始する準備:
以下を使用してインデックスのプロパティを変更するには:
はじめに
制限事項と制約事項
ALTER INDEX ステートメントに SET 句を使用することによって、ALLOW_PAGE_LOCKS、ALLOW_ROW_LOCKS、IGNORE_DUP_KEY、および 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 のみ) の各オプションを設定できます。
セキュリティ
アクセス許可
テーブルまたはビューに対する ALTER 権限が必要です。
SQL Server Management Studio を使用する
インデックスのプロパティをテーブル デザイナーで変更するには
オブジェクト エクスプローラーで、インデックスのプロパティの変更対象となるテーブルが格納されているデータベースをプラス記号をクリックして展開します。
プラス記号をクリックして [テーブル] フォルダーを展開します。
インデックスのプロパティを変更するテーブルを右クリックし、[デザイン] を選択します。
[テーブル デザイナー] メニューの [インデックス/キー]をクリックします。
変更するインデックスを選択します。 対応するプロパティがメイン グリッドに表示されます。
該当するプロパティの設定を変更してインデックスをカスタマイズします。
[閉じる] をクリックします。
[ファイル] メニューの table_nameを保存]を選びます。
インデックスのプロパティをオブジェクト エクスプローラーで変更するには
オブジェクト エクスプローラーで、インデックスのプロパティの変更対象となるテーブルが格納されているデータベースをプラス記号をクリックして展開します。
プラス記号をクリックして [テーブル] フォルダーを展開します。
インデックスのプロパティを変更するテーブルのプラス記号をクリックして展開します。
プラス記号をクリックして [インデックス] フォルダーを展開します。
プロパティを変更するインデックスを右クリックし、 [プロパティ]を選択します。
[ページの選択]の [オプション]を選択します。
該当するプロパティの設定を変更してインデックスをカスタマイズします。
インデックス列の位置を追加、削除、または変更するには、[インデックスのプロパティ -index_name] ダイアログ ボックスから [全般] ページを選択します。 詳細については、「 Index Properties F1 Help」をご覧ください。
Transact-SQL の使用
テーブル内のすべてのインデックスのプロパティを表示するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
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
インデックスのプロパティを設定するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行]をクリックします。
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)」を参照してください。