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