SQL Server:トランザクションログのサイズを大きくするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1011311

質問

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

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

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

解決

簡単な答え:

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

  

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

多くの要因に依存します(この新しいデータか、更新か、削除か、どの復旧モデルか、SQL 2k8に圧縮はありますか、など)が、通常は予想よりも大きくなります。実行しようとしている更新のサイズの2.5倍と推定します。

更新:

削除と言うのを忘れました。概算では、削除されるデータのサイズの1.5倍です(すべてのインデックスを含む)。

他のヒント

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

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

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

自動拡張を設定するには:

  1. Management Studioでデータベースを右クリックします。
  2. プロパティを選択
  3. 自動拡張値を更新

最も重要な部分は、シナリオの最後の行です。<!> quot;トランザクションログのサイズを復元します。<!> quot;ログを元のサイズに戻すことを意味します。

これは多くの理由で非常に危険であり、SQLServerPediaでのいくつかの記事でそれらを取り上げました:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top