7

トランザクションログのサイズを増やすにはどうすればよいですか?トランザクションログを一時的に増やすこともできますか?

次のシナリオがあるとしましょう。現在のトランザクションログには大きすぎる削除操作があります。したい:

  • トランザクションログを増やします(現在のサイズを検出できますか?、操作に必要なトランザクションログの大きさを教えてもらえますか?)
  • (私の操作を実行します)
  • トランザクションログをバックアップする
  • トランザクションログのサイズを復元します。
4

3 に答える 3

3

トランザクションログは、必要に応じて拡張するように構成できます。自動的に成長するオプションを設定します。ただし、トランザクションログが大きくなりすぎた場合(ディスク領域が不足した場合)、またはSQLサーバーが使用できなくなった場合。

トランザクションログをバックアップします。SQLは非アクティブなトランザクションを自動切り捨てます

トランザクションログを復元すると、削減されます

自動成長を構成するには:

  1. ManagementStudioでデータベースを右クリックします。
  2. プロパティを選択します
  3. 自動成長値を更新します
于 2009-06-18T07:52:41.137 に答える
3

短い答え:

長い答え:ALTER DATABASE ... MODIFY FILELOGファイルを含むデータベースファイルのサイズを変更するために使用できます。master_files/sysfiles(2k)または<dbname>.sys.database_files(2k5 / 2k8 )を検索して、ログの論理名を取得できます。またDBCC SHRINKFILE、ファイルを縮小するために使用できます(可能な場合)。

操作に必要なトランザクションログの大きさを教えてもらえますか?

これは多くの要因(この新しいデータですか?更新ですか?削除ですか?リカバリモデルですか?SQL 2k8で圧縮されていますか?など)に依存しますが、通常は予想よりも大きくなります。実行しようとしている更新のサイズの2.5倍を見積もります。

アップデート:

あなたが言うのを逃したのはDELETEです。おおよその見積もりは、削除されたデータのサイズの1.5倍です(すべてのインデックスを含む)。

于 2009-06-18T07:54:09.713 に答える
1

最も重要な部分は、シナリオの最後の行である「トランザクションログのサイズを復元する」です。ログを元のサイズに縮小することを意味します。

これは多くの理由で本当に危険です。SQLServerPediaでいくつかのストーリーでそれらを取り上げました。

于 2009-06-18T09:21:34.933 に答える