このスクリプトでインデックスを再構築できるようONLINE
に、ほとんどすべてのインデックスのオプションのデフォルト値をに変更する必要がありON
ます。
ALTER INDEX [Index1]|ALL ON [Table1] REBUILD;
同じことをします:
ALTER INDEX [Index1]|ALL ON [Table1] REBUILD WITH (ONLINE = ON);
インデックスを再作成せずにそれをしなければなりません。
ただし、次のスクリプトを使用してインデックスを作成するのは奇妙です。
CREATE NONCLUSTERED INDEX [Index1] ON [Table1]
(
[Column1] ASC
)
WITH (ONLINE = ON)
ONLINE
オプションがオンに設定されたインデックスになりますOFF
:-??
修正:
これはできないことがわかりました。ONLINE
オプションはどこにも保存されていない、それはいくつかのオプションが保存されているにもかかわらず、インデックスを作成したり、再構築だけで現在のステートメントに影響を与えsys.indexes
テーブル。ONLINE
オプションを指定しないと、デフォルト値でスクリプトが実行されますOFF
。修正は、明示的にONLINE
オプションをオンにしてすべての再構築インデックススクリプトを更新ON
し、これをサポートするSQL Serverバージョン(EnterpriseエディションとDeveloperエディション)で実行され、オンラインでのみ許可されたインデックスを再構築することを確認することです。オンラインで再構築できないインデックスは次のとおりです。
ONLINEプロパティのデフォルト値を変更する必要があります。
ONLINE
likeSORT_IN_TEMPDB
はインデックスプロパティではなく、CREATE
/ALTER INDEX
ステートメントの単なるオプションです。
したがって、このオプションは現在のステートメントにのみ影響し、インデックスのメタデータには保存されません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加