シミュレートされたSQL2005dbを実行しているSQL2008を備えたWebサーバーがあり、テスト環境用のローカルSQL2005dbがあります。
これにより、2008サーバーのバックアップは2005サーバーに復元されないため、テスト用のデータのバックアップ/復元にスクリプトを使用します。
このSQLクエリを実行して、運用Web SQL Server(2008)のテーブルのサイズを縮小すると
DELETE FROM TickersDay
WHERE (DATEDIFF(day, TickersDay.[date], GETDATE()) >= 8)
GO
このメッセージが表示されます:
Msg 9002, Level 17, State 4, Line 3
The transaction log for database 'VTNET' is full. To find out why space in the log
cannot be reused, see the log_reuse_wait_desc column in sys.databases
スクリプトを公開するときにも出てきます。
このSQLコマンドを実行すると、次の結果が得られます。
SELECT [name], recovery_model_desc, log_reuse_wait_desc
FROM sys.databases
結果:
[name] recovery_model_desc log_reuse_wait_desc
VTNET SIMPLE ACTIVE_TRANSACTION
これが私の質問と問題です:
- わかりました。ロールバックコマンドが必要なトランザクションステートメントがあります。
<if @@ Trancount>0ロールバック>..しかし、100個のストアドプロシージャがあるので、それを行う前に...。
その間に...どうすればこの問題を根絶できますか?SHRINKINGを試し、Dbのバックアップを試しました...
ご覧のとおり、SIMPLEモードです... LOG ONLYファイルをバックアップする方法がわかりません...(その方法がわかりません)...