最小ログ記録が可能な操作
最小ログ記録では、トランザクションの復旧に必要な情報だけが記録されます。特定の時点への復旧はサポートしません。このトピックでは、一括ログ復旧モデルで (バックアップが実行されていない場合は単純復旧モデルで) 最小ログが記録される操作について説明します。
注意 |
---|
完全復旧モデルでは、すべての一括操作が完全にログに記録されます。ただし、一括操作のためにデータベースを一時的に一括ログ復旧モデルに切り替えることで、一連の一括操作用のログ記録を最小限に抑えることができます。最小ログ記録は、完全ログ記録より効率的であり、一括トランザクションの実行中に、使用可能なトランザクション ログ領域が大規模な一括操作でいっぱいになる可能性を低減します。ただし、最小ログ記録が有効なときにデータベースが破損または消失した場合は、データベースを障害発生時点まで復旧できません。 |
次に示す操作は、完全復旧モデルで完全にログ記録されますが、単純復旧モデルと一括ログ復旧モデルでは最小限にしかログ記録されません。
一括インポート操作 (bcp、BULK INSERT、および INSERT...SELECT)。テーブルへの一括インポートの最小ログ記録の詳細については、「一括インポートで最小ログ記録を行うための前提条件」を参照してください。
SELECT INTO 操作。詳細については、「INTO 句 (Transact-SQL)」を参照してください。
新規データの挿入時または追加時の、UPDATE ステートメントの .WRITE 句を使用した、大きな値のデータ型の部分更新。既存の値を更新する場合は、最小ログ記録は使用されません。大きな値のデータ型の詳細については、「大きな値のデータ型の使用」を参照してください。WRITE 句の詳細については、「UPDATE (Transact-SQL)」を参照してください。
text、ntext、image の各データ型列に新規データを挿入または追加するときの WRITETEXT ステートメントおよび UPDATETEXT ステートメント。既存の値を更新する場合は、最小ログ記録は使用されません。詳細については、「WRITETEXT (Transact-SQL)」および「UPDATETEXT (Transact-SQL)」を参照してください。
注意 WRITETEXT ステートメントおよび UPDATETEXT ステートメントの使用は推奨されなくなりました。新しいアプリケーションでは、これらを使用しないようにしてください。
データベースが単純復旧モデルまたは一括ログ復旧モデルに設定されている場合、一部のインデックス DDL 操作は、オフラインで実行されても、オンラインで実行されても、最小ログ記録の対象になります。最小ログ記録が行われるインデックス操作は、次のとおりです。
CREATE INDEX 操作 (インデックス付きビューを含む)。
詳細については、「CREATE INDEX (Transact-SQL)」を参照してください。
ALTER INDEX REBUILD 操作または DBCC DBREINDEX 操作。
詳細については、「ALTER INDEX (Transact-SQL)」を参照してください。
注意 DBCC DBREINDEX ステートメントの使用は推奨されなくなりました。新しいアプリケーションでは、これを使用しないようにしてください。
DROP INDEX による新しいヒープの再構築 (適用可能な場合)。
注意 DROP INDEX 操作中のインデックス ページの割り当て解除は、常に完全にログ記録されます。
詳細については、「DROP INDEX (Transact-SQL)」を参照してください。
インデックス操作のログ記録に復旧モデルが及ぼす影響の詳細については、「インデックス操作の復旧モデルの選択」を参照してください。