10

READ_COMMITTED_SNAPSHOT ONSQL Server 2008での設定の長所と短所は何ですか?

実際、私はトランザクションのデッドロックの問題を実行していましたが、ロックエスカレーションREAD_COMMITTED_SNAPSHOT ONをオンにして無効にすることで(デッドロックを引き起こすトランザクションで使用されたテーブルでのみ)。これにより、デッドロックの問題が約90%終了しました。しかし、パフォーマンスなどの他の問題があるのではないかと心配しています。

どんな助けでも大歓迎です。

4

1 に答える 1

14

RCSIの利点:

  • クエリ開始時のデータの一貫したビューを提供します
  • ブロッキングなし
  • より少ないロック/エスカレーション

ただし、これは無料ではありません。tempdbは、「バージョンストア」と呼ばれるものを保持するために使用されます。つまり、次のことを意味します。

  • バージョンを維持するためにtempdbのスペースとI/Oの要件が増加する
  • 長時間実行されるトランザクションでバージョンを長期間保持する必要がある場合、および/または多くのバージョンが存在する場合、パフォーマンスが低下する可能性があります

また、行バージョン情報は、行ごとに14バイトを追加します。

RCSIの一般的な代替手段は、通常、書き込みアクティビティをレポートから分割することです。これは、ログ配布、ミラーリング+スナップショット、またはSQLServer2012の可用性グループ+読み取り専用セカンダリなどのさまざまなHAテクノロジを使用して実行できます。

いくつかの公式ドキュメント参照:

于 2012-06-04T03:15:13.900 に答える