問題タブ [transaction-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - ログチェーンとSQLServerトランザクションログ-健全性チェック
私はかなりアドホックなディザスタリカバリを支援しています。数週間前のデータベースバックアップを復元してから、トランザクションログバックアップからトランザクションを復元しました。
これは、SQL Server Management Studioを使用して行いました。データベースを右クリックし、完全バックアップを復元しますが、リカバリモードのままにし、もう一度右クリックして、トランザクションログを復元します。
現在、ログにギャップがないことを確認しようとしています。SQL Server Management Studioでエラーなしでログを復元できた場合、ログにギャップはなかった(たとえば、ログチェーンが完了している)と想定しても安全ですか?
言い換えれば、ギャップがあった場合、SQLでログを復元できますか?その場合、警告または停止するだろうと思います。
あなたが提供できるどんな助けにも感謝します...。
SQL 2005を使用していますが、ログチェーンに関するルールはすべてのバージョンで類似していると思います。
sql-server-2005 - SQL Server 2005 トランザクション ログ ファイルを表示する方法
SQL Server トランザクション ログ ファイル (.trn) を表示するにはどうすればよいですか?
個々のトランザクションで trn ファイル内を確認できるようにしたいと考えています。一部のレコードがデータベースから削除されました。いつ、どのように、誰によって削除されたかを知る必要があります。
ありがとうニール
編集:削除前後の .bak ファイルと、削除中の .trn ファイルがあります。
編集 (2010-11-16): ここで詳細に説明: http://www.sqlservercentral.com/Forums/Topic1019240-357-1.aspx
database-design - ログサイズを減らすために、最初に揮発性の列を含むテーブルを作成する
これについてはよくわかりませんが、以前に読んだことがあると思います。それが正しいか間違っているかを知りたいです。
テーブルを作成するときは、最初に揮発性の列を配置し、次に静的な列を配置することをお勧めします。つまり、更新可能な列と更新不可能な列を最後に配置するということです。行が変更されるたびに、ログは古い行を書き込み、最後に更新されるまで新しい行の列を書き込むため、これはトランザクション ログのサイズを減らすのに適しています。
行
に更新
この場合、ログは新しい行を完全に書き込みます。ただし、列の順序を変更すると、次のようになります。
行
に更新
トランザクション ログは、最後に変更された列 (1、「メッセージが変更されました。」) までのみを書き込みます。これにより、HADR を使用する場合のように、ログを書き込み、別のマシンに送信する際のパフォーマンスが向上する可能性があります。
これが本当かどうか知りたいのですが、これに関する情報はどこで入手できますか。
sql-server-2005 - データベースに対して行った更新ステートメントを元に戻すにはどうすればよいですか
これはテスト環境です。更新クエリをテストするためにいくつかのデータが必要でしたが、誤ってすべての行の列を更新して間違ったデータを取得しました。バックアップを使用してデータを前のインスタンスに復元する必要がありますか、それともトランザクションログに利用できる秘密がありますか?
前もって感謝します。
sql-server - トランザクション ログ ドライブは、データベース ドライブと同じ速度である必要がありますか?
クライアントに、SQL Server データベース ファイル (mdf) をトランザクション ログ ファイル (ldf) とは別の物理ドライブに配置するように指示しています。技術会社 (私たちのクライアントに雇われた) は、トランザクション ログをデータベース ドライブよりも遅い (たとえば安価な) ドライブに置きたいと考えていました。トランザクション ログでは、ログ ファイルに順次書き込むだけだからです。
私は、ドライブ (実際には RAID 構成) も高速ドライブ上にある必要があると考えていることを伝えました。これは、データベースへのすべてのデータ変更呼び出しを、データベース自体だけでなくそこにも保存する必要があるためです。
しかし、そう言った後、私はそれについて完全に確信が持てないことに気づきました。トランザクション ログ ドライブの速度は、パフォーマンスに大きな違いをもたらしますか? データベースのドライブが高速な場合は?
sql-server - SQL Server: what is the virtual log file?
What is the Virtual Transaction Log file in SQL Server?
sql-server - SQLServer2008でトランザクションログを表示する方法
削除トランザクションを見つけてロールバックするには、 SQLServer2008上のデータベースのトランザクションログを表示する必要があります。
残念ながら、どこから始めればよいのかわからず、Googleでどれが良い記事かを判断するのが難しいと感じています。
私は何をすべきか?
sql-server - トランザクション ログを使用して削除操作をロールバックする
SQL Server 2008 のトランザクション ログから削除操作をロールバックする必要がありますが、これを行う方法が不明です。
この操作の正しい構文について、正しい方向に向けて誰か教えてもらえますか??
とても感謝しています。
ありがとう
sql-server - SQL Server 2008 トランザクション ログ: 日付/時刻
削除クエリをロールバックする必要があるため、ほとんどのヘッダーの意味を知らずにトランザクション ログを調べています。
私には、現在の LSN のように見えますが、おそらくトランザクション ID は日付または時刻である可能性がありますが、形式は異なりますか?
現在の LSN は次のようになります: 00000e46:00000a4d:0002 トランザクション ID は次のようになります: 0000:0000da25
こう考えるのは間違っているでしょうか?もしそうなら、SQL Serverのみを使用してSQL Serverトランザクションログで時刻/日付を表示する方法を知っている人はいますか?
sql-server - 大規模なトランザクション ログによって CPU の上昇が発生する可能性があります
Sql Server 2005 に非常に大きなデータベースを持つクライアントがあります。データベースに割り当てられた合計スペースは 15Gb で、データベースに約 5Gb、トランザクション ログに 10Gb です。つい最近、そのデータベースに接続している Web アプリケーションがタイムアウトになりました。
Web ページでのアクションを追跡し、これらの Web 操作の実行中に実行されるクエリを調べました。実行計画に問題はありません。
クエリ自体は複数の結合を使用しましたが、非常に迅速に完了します。ただし、db サーバーの CPU は数秒間 100% まで上昇します。この問題は、複数の同時ユーザーがシステムで作業しているときに発生します (複数と言うときは .. 5 について読んでください)。この状態でタイムアウトが発生し始めます。
私の質問は、トランザクション ログが大きいと CPU パフォーマンスに問題が発生する可能性があるということだと思います。現在、ディスクには約 12Gb の空き容量があります。構成は私の手に負えませんが、データベースとログは両方とも同じ物理ディスク上にあります。
ログ ファイルが膨大であり、注意を払う必要があることは理解していますが、これが CPU スパイクを引き起こす可能性があるかどうか (つまり、相関関係を見つけようとしている) について注意を喚起するだけです。タイムアウトは最近発生したもので、このアプリは数年間応答性がありました (つまり、最近の兆候です)。
どうもありがとう、