SQL Server の完全バックアップに関する珍しいエラーと解決策

SQL Server の完全バックアップに関する珍しいエラーと解決策

1. エラーの詳細

一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しました。

複数回実行するとこのエラーメッセージが表示されます。

システム リソース (ディスクやメモリ領域など) が不足しているため、またはデータベースが破損しているために、チェックポイントを生成できないことがあります。

ディスク リソースが不足していないことを確認するために、データベース リソースをチェックします。

2. チェックポイントに関する知識

トランザクション ログ、データ ファイル、およびチェックポイント間の関係。

SQL Server では、挿入、更新、または削除を行う際に、データはデータベースに対応する mdf ファイルに直接書き込まれるのではなく、キャッシュに書き込まれます。このとき、キャッシュ内のデータを mdf ファイルに書き込むために主に使用される、非常に重要なメカニズムである CheckPoint について言及する必要があります。

これは次の典型的な図で説明できます。

3. チェックポイントをトリガーするイベント

1. データベースをバックアップする前に、データベース エンジンは自動的にチェックポイントを実行し、データベース ページへのすべての変更がバックアップに含まれるようにします。

2. ログのアクティブ部分が、回復間隔サーバー構成オプションで指定された時間内にサーバーが回復できるサイズを超えています。

3. ログが 70% いっぱいになり、データベースはログ切り捨てモードになっています。

4. サーバーを停止すると、サーバー上の各データベースにチェックポイント コマンドも発行されます。

4. 手動でチェックポイントを実行する

したがって、このエラーはバックアップ中のチェックポイントの問題によって発生した可能性が高いため、手動でチェックポイントを実行します。

通常、チェックポイント コマンドを手動で実行する必要はほとんどありません。チェックポイントの構文は CHECKPOINT[checkpoint_duration] です。ここで、checkpoint_duration はチェックポイントを完了するのに必要な秒数です。通常、checkpoint_duration 値は指定せず、データベースによって自動的に調整されるチェックポイント期間を使用して、データベースへのパフォーマンスの影響を軽減します。データベースがチェックポイントを実行すると、ダーティ ページの数、データを変更するアクティブなトランザクション、および指定された実際の継続時間 checkpoint_duration がリソースの割り当てに影響します。 checkpoint_duration 値が 50 秒で、この操作を完了するのに通常 150 秒かかるとします。指定された 50 秒の checkpoint_duration を満たすために、データベースは通常よりも多くのリソースを命令に割り当てます。これは、通常の状況下では他の操作のリソース使用率に影響します。 5. 効果検証

チェックポイントを実行します。

わーい

要約する

上記は、編集者が紹介した SQL Server の完全バックアップで発生する珍しいエラーと解決策です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信いたします。

以下もご興味があるかもしれません:
  • SQL Server 2008 圧縮バックアップ データベース (20g)
  • SQL SERVER データベースのバックアップに関する 3 つの戦略とステートメント
  • SQL Server データベースのバックアップの詳細と注意事項
  • SqlServer データを上位バージョンから下位バージョンにバックアップおよび復元する
  • SQL Server 2012 バックアップ セット内のデータベース バックアップは、既存の xxx データベースと異なります
  • SQL Server 2008 以降のバージョンのデータベース回復方法ログ末尾バックアップ
  • SQL Serverデータベースを素早く復元およびバックアップ

<<:  Dockerコアとインストールの具体的な使い方

>>:  WeChatアプレットのオーディオコンポーネントがiOSで再生できない問題の解決策

推薦する

MySQL でローカル ユーザーを作成し、データベース権限を付与する方法の例

序文MySQL をインストールすると、通常はスーパーユーザー root を作成します。多くの人がこの...

MySQLクエリの基本的なクエリ操作の学習

序文MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーショ...

Centos8 に nginx1.9.1 をインストールする詳細な手順

1.17.9 本当はもっと美味しいNginx のダウンロード アドレス: https://nginx...

停止したすべてのDockerコンテナを1つのコマンドで再起動する

停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...

MySQLが2つのテーブルを関連付ける際のエンコードの問題と解決策

Mysqlが2つのテーブルを関連付けると、次のエラーメッセージが生成されます:照合順序の不正な組み合...

Nginx 仮想ホスト (IP ベース) を構成する 3 つの方法の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

MySql Group Byは複数のフィールドのグループ化を実装します

日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、...

MySQL パスワードは正しいが、ローカルにログインできない -1045

MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...

Docker イメージのダウンロードが遅すぎる場合の解決策

Docker イメージのダウンロードが停止したり、遅すぎたりするネットでいろいろな方法を検索しました...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

jsを使ってシンプルなディスククロックを実現する

この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...

Vueグローバルカスタム命令の実践 モーダルドラッグ

目次背景実装のアイデア成果を達成する背景最近取り組んでいるプロジェクトは、Vue2 で構築されたプロ...

Linux /etc/network/interfaces 設定インターフェース方法

Linux の /etc/network/interfaces ファイルは、ネットワーク インターフ...

VMWare仮想マシンにCentOS7システムをインストールする詳細な手順

インストール前の作業: VMware Workstation がインストールされていることを確認し、...