オンラインでのインデックス操作の実行

SQL Server 2005 では、インデックスをオンラインで作成、再構築、または削除できます。ONLINE オプションにより、このようなインデックス操作中に、基になるテーブルやクラスタ化インデックス データ、および関連付けられた任意の非クラスタ化インデックスへの同時ユーザー アクセスが可能になります。たとえば、あるユーザーがクラスタ化インデックスを再構築している最中に、そのユーザーと他のユーザーが基になるデータの更新やクエリを続行できます。クラスタ化インデックスの構築や再構築などの DDL 操作をオフラインで実行するときは、これらの操作により、基になるデータや関連付けられたインデックスに排他ロックがかけられます。このため、インデックス操作が完了するまで、基になるデータの変更やクエリを実行できません。

ms177442.note(ja-jp,SQL.90).gifメモ :
オンラインでのインデックス操作は SQL Server 2005 Enterprise Edition のみで実行できます。

1 日 24 時間、週 7 日間、常時稼動のビジネス環境では、オンラインでのインデックス操作を実行することをお勧めします。このような環境では、インデックスの操作中に、ユーザーが同時に操作できることが必要不可欠です。

次の Transact-SQL ステートメントで、ONLINE オプションを使用できます。

オンラインでのインデックス操作の詳細については、「オンライン インデックス操作の動作原理」および「オンラインでインデックス操作を実行する場合のガイドライン」を参照してください。

次の例では、AdventureWorks サンプル データベースの Product テーブル内のすべてのインデックスをオンラインで再構築します。

USE AdventureWorks;
GO
ALTER INDEX ALL ON Production.Product
REBUILD WITH (ONLINE = ON);

参照

概念

インデックスの無効化
インデックスの再編成と再構築
データベース エンジンのロック
行のバージョン管理に基づく分離レベルについて

その他の技術情報

ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)
CREATE INDEX (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手