オンラインでのインデックス操作の実行
インデックスをオンラインで作成、再構築、または削除できます。ONLINE オプションにより、このようなインデックス操作中に、基になるテーブルやクラスタ化インデックス データ、および関連付けられた任意の非クラスタ化インデックスへの同時ユーザー アクセスが可能になります。たとえば、あるユーザーがクラスタ化インデックスを再構築している最中に、そのユーザーと他のユーザーが基になるデータの更新やクエリを続行できます。クラスタ化インデックスの構築や再構築などの DDL 操作をオフラインで実行するときは、これらの操作により、基になるデータや関連付けられたインデックスに排他ロックがかけられます。このため、インデックス操作が完了するまで、基になるデータの変更やクエリを実行できません。
注意 |
---|
オンラインでのインデックス操作は、SQL Server Enterprise Edition、Developer Edition、および Evaluation Edition でのみ使用できます。 |
1 日 24 時間、週 7 日間、常時稼動のビジネス環境では、オンラインでのインデックス操作を実行することをお勧めします。このような環境では、インデックスの操作中に、ユーザーが同時に操作できることが必要不可欠です。
次の Transact-SQL ステートメントで、ONLINE オプションを使用できます。
ALTER TABLE (CLUSTERED インデックス オプションが指定されている UNIQUE 制約または PRIMARY KEY 制約を追加または削除するため)
オンラインでのインデックス操作の詳細については、「オンライン インデックス操作の動作原理」および「オンラインでインデックス操作を実行する場合のガイドライン」を参照してください。
例
次の例では、AdventureWorks サンプル データベースの Product テーブル内のすべてのインデックスをオンラインで再構築します。
USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product
REBUILD WITH (ONLINE = ON);