0

ログファイルに記録せずに DML 操作を行う方法はありますか?

たとえば、データベースに行を挿入すると、トランザクションを使用するかどうかに関係なく、この操作はログ ファイルに記録されます。しかし、この操作をログ ファイルに記録したくありません。

4

2 に答える 2

4

いいえ、決して。ありえない。

すべての操作は何らかの理由でログに記録されます。途中で失敗した場合はどうなるでしょうか。サーバーがクラッシュ?などなど

要約: ACIDの A、C、D

これを望まない場合は、ACID 以外の NoSQL の代替手段を使用することを検討してください。

于 2010-10-03T10:55:44.213 に答える
0

SQL Server は常にログ ファイルに挿入を書き込みます。サーバーがリセットされたときにデータベースを一貫した状態に回復するには、その情報が必要です。

復旧モデルを選択することで、ログに与える影響を変更できます。

alter database YourDb set recovery { FULL | BULK_LOGGED | SIMPLE } 

シンプル モードでは、SQL Server は実行中のトランザクションのみをログに記録し、不要になったログの部分を再利用し始めます。シンプル モードでは、通常、ログ ファイルは小さいままです。

挿入操作の後にログを削除する場合は、次を使用できます。

alter database YourDb set recovery simple with no_wait
dbcc shrinkfile(YourDbLog, 1)
alter database YourDb set recovery <<old model here>>

これにより、すべてのログが削除されることに注意してください。このコマンドを実行した後にのみ、最後の完全バックアップの復元を使用できます。

于 2010-10-03T11:15:30.023 に答える