タグ付けされた質問 「restore」

バックアップからのデータベースのリロード。通常、災害復旧のため、またはデータベースのコピーを別のサーバーに作成するため。

1
SQL Anywhere 11:増分バックアップエラーの復元
完全バックアップの後にリモート増分バックアップを作成します。これにより、障害が発生した場合に復元し、SQL Anywhereネットワークサーバーで可能な限りリアルタイムのバックアップを使用して別のマシンを起動できます。 次のように完全バックアップを行っています。 dbbackup -y -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" c:\backuppath\full これにより、データベースとログファイルのバックアップが作成され、期待どおりに復元できます。増分バックアップの場合、複数の増分バックアップがある場合、名前変更スキームを使用してライブトランザクションログと増分トランザクションログの両方を試しました。 dbbackup -y -t -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" c:\backuppath\inc dbbackup -y -l -c "eng=ServerName.DbName;uid=dba;pwd=sql;links=tcpip(host=ServerName)" c:\backuppath\live ただし、復元時にトランザクションログを適用すると、データベースにトランザクションログを適用するときに常にエラーが表示されます。 10092:トランザクションログで参照されているテーブルのテーブル定義が見つかりません トランザクションログの復元コマンドは次のとおりです。 dbeng11 "c:\dbpath\dbname.db" -a "c:\backuppath\dbname.log" エラーはどのテーブルを見つけることができないかを指定しませんが、これは制御されたテストであり、テーブルが作成または削除されていません。いくつかの行を挿入し、復元を試みる前に増分バックアップを開始します。 Sql Anywhere 11で増分バックアップと復元を行う正しい方法を知っている人はいますか? 更新:ターゲットデータベースの複雑さに関連している可能性があると考え、新しい空のデータベースとネットワークサービスを作成しました。次に、2つの列を持つ1つのテーブルを追加し、数行を挿入しました。完全バックアップを作成し、さらに数行とコミットされたトランザクションを挿入および削除してから、増分バックアップを作成しました。完全バックアップを復元した後にトランザクションログの増分バックアップを適用しようとすると、これも同じエラーで失敗しました... 編集: このリンクをたどると、SAに関する若干のフィードバックがある同じ質問を見ることができます:http : //sqlanywhere-forum.sybase.com/questions/4760/restoring-incrementallive-backup-failure

1
pg_restore.exeを使用する前に制約を無効にします
pg_restore.exeデータベースからダンプファイルを実行しようとすると、同じように何十ものエラーがスローされます。 ERROR: insert or update on table "someTable" violates foreign key constraint "aConstraintName" これは、データベースをダンプファイル(このファイルは運用データベースから取得)から復元する前に空にしたという事実によるものです。 ... を呼び出す前に、すべてのテーブルの制約とすべての外部キーを無効にし、pg_restore.exeその後、制約と外部キーを再度有効にする方法はありますか。 SOで何か面白いものを見つけました。制約チェックをコミット時間まで延期します。しかし、制約を延期した後にpg_restore.exe内部から呼び出すことはできないと思いpsql.exeます。 また、10年前のこの投稿もあり、制約を削除してから再度追加することを提案しています。または、pg_class reltriggersの値を0に変更すると、制約に対しても可能になります...しかし、それは良い習慣よりもハッキングされているのではないかと思います... この場合のベストプラクティスは何ですか?フラグを使用pg_dump.exe して-clean使用すると、データベースを復元するときに制約チェックをバイパスするダンプが作成されますか?

3
pgAdmin設定のバイナリパス
PostgreSQLをインストールしたの.backupは、別のプラットフォームにアップロードするために受け取った大きなファイルを復元する必要があるためです(3800万行で、他の方法でエクスポートするには大きすぎるようです)。pgAdmin 4で「復元」しようとすると、次のメッセージが表示されます。 [設定]ダイアログでPostgreSQLバイナリパスを設定してください。 これは、PostgreSQLフォルダーへの単なるパスですか?PostgreSQLサイトでこれに関するドキュメントを見つけることができません。私が見つけることができるのは: バイナリパスノードのフィールドを使用して、PostgreSQLバイナリユーティリティおよびEnterpriseDB Postgres Advanced Serverバイナリユーティリティへのパスを指定します。 pgAdmin以外の方法でデータベースを復元する簡単な方法はありますか?

5
10-20のSQL Serverデータベースを〜同期状態にバックアップおよび復元しますか?
10〜50 GBのサイズの10〜20個のSQL Server 2008 R2データベースをオンラインでバックアップし、単一のエンタープライズアプリで同時に使用する必要があります。また、すべてのデータベースでほぼ同期された状態にそれらを復元する必要があります(データベース間で最大数秒の非同期が可能です)。目的は、QA / DEV環境の実稼働データをキャプチャすることです。 データベースを完全復旧で実行することを要求せず、QA環境のデータをキャプチャするための専用のバックアップ方法を考え、私の制御下にないメインのバックアッププロセスに依存しないことを強く望みます。 私の顧客の場合、それぞれ最大30 GBで20の完全バックアップをキャプチャするのに1〜2時間かかります。これにより、単純なリカバリで実行する場合にデータベースの同期がとれすぎるため、フルバックアップを連続して取得することは受け入れられなくなります。 私はこれらよりも良いアイデアを探しています: アイデア1:VMディスクのSANレベルのスナップショット。スナップショットからMDF / LDFをxcopyします。 コピーされたファイルが別のサーバーインスタンスにアタッチされると、その回復プロセスにより、ほぼ同時にスナップショットである一貫性のあるデータベースが作成されます。 少なくとも私がmaster / msdb / etcに対してdesyncを取得する可能性があるため、グーグルでこれが悪い考えだと確信しました。 アイデア2:複雑なバックアップを調整し、すべてのデータベースで同期復元 これには、データベースを完全復旧で実行する必要がありますが、これは望ましくありません。期限(T0)のかなり前に、すべてのデータベースの並列バックアップを開始します。T0に達したら、すべてのログをバックアップします(最大で数分かかります)。結果として得られる無数のバックアップを取り、それらを復元し、ログをロールバック/ロールバックして、T0に対してデータベース全体である程度一貫した状態を取得します。 これを確実に使用するには多くの計画とスクリプトが必要なので、それを避けるためにかなりの時間を費やします。 他の解決策がありませんか? PS1:db snapshotsを使用できるようになりたいと思っていました。アイデアは、各データベースでスナップショットを開始し(数秒で終了する必要があります)、その後、次の分/時間にわたって順番に完全にバックアップします。次に、それらすべてを別のサーバーに復元し、それぞれをスナップショットに戻します。スナップショットはデータベースと一緒にバックアップできないため、このシナリオは不可能です。それらは、作成されたサーバー上の所定の場所にのみロールバックできます。さらに、これらにはEnterprise Editionが必要ですが、これは私がすべての顧客に提供しているわけではありません。 PS2:クロスデータベース同期バックアップを作成できるサードパーティのソリューションをご存知の場合は、そのことをお知らせください。

2
テーブルがクラッシュしたとマークされているため、修復する必要があります
MySQLとNagiosがLinux PC(Centos5.5)をインストールしています NagiosからMysql DBにデータを取得するためのスクリプトを作成しました(テーブルのデータを正確に取得します) データフェッチが正しく機能している(「COUNT」コマンドで確認済み) 私は次のコマンドを実行すると問題が発生します mysql> select * from nagios_servicechecks; エラー1194(HY000):テーブル 'nagios_servicechecks'はクラッシュとしてマークされているため、修復する必要があります このコマンドを除き、他のすべてのコマンドは正常に機能します。
15 mysql  linux  restore 

2
10 TBのデータベースのバックアップ/復元に関する質問
10 TBの非常に大きな本番データベースがあります。クラウドサービスへの移行を検討していますが、リスクを理解し、プロセス全体の期間を見積もる必要があります。ネイティブSQL Server 2014 SP2バックアップソリューションを使用して、月に1回データベースをバックアップします。所要時間はほぼ720分-12時間です。圧縮率は5です。これは、バックアップサイズがほぼ2 TBであることを意味します。差分バックアップは累積されるため、フルバックアップと同じくらいの時間とスペースを要するため、1日あたり10分から144ファイルごとにT-logバックアップ(それぞれ200 Mb)を行うことはできません。BIGの質問はこれらすべての統計情報を持っていることです。10TBのデータを含む2 TBのバックアップを復元するのにどれくらい時間がかかるか、誰にもわかりませんか?完全バックアップの期間よりもはるかに長くなりますか?

2
SQL Server dbを完全バックアップから復元できない、ログ処理が失敗、データベースが「復元中」状態
PCのローカルSQL Server Developer Edition 12.0.2000.8に開発目的でデータベースを設定しようとしています。データベース全体のバックアップと、ネットワーク経由で送られてきたトランザクションログ専用のバックアップファイルが用意されています。 完全バックアップから復元しようとすると、しばらくして(おそらく1時間以内に、データベースのサイズが〜270 GBになります)、エラーが発生します: System.Data.SqlClient.SqlError:データベース 'database name'のログの処理中にエラーが発生しました。可能であれば、バックアップから復元します。バックアップが利用できない場合、ログを再構築する必要があるかもしれません。(Microsoft.SqlServer.SmoExtended) この後、データベースは「復元中」状態になります。 私は次のようなものを実行したかった(この質問からそれを得た) ALTER DATABASE recovery_test_2 SET EMERGENCY; ALTER DATABASE recovery_test_2 SET SINGLE_USER; DBCC CHECKDB (recovery_test_2, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS; それに対して、データベースが「復元中..」状態にあるため、当然のことながらできません。復元プロセスを再起動しても同じエラーメッセージが表示され、ドロップと復元は再び役に立ちませんでした。 データベースを起動して動作させるにはどうすればよいですか?トランザクションの一貫性は私には関係ありません。 SSMS自動生成復元スクリプト: USE [master] RESTORE DATABASE [database_name] FROM DISK = N'D:\database_name.bak' WITH FILE = 1, MOVE N'database_name' TO N'D:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\database_name.mdf', MOVE …

8
SQLダンプからデータベースを復元中にエラーが発生しました
私はMySQLが非常に新しく、Windowsで実行しています。MySQLのダンプファイルからデータベースを復元しようとしていますが、次のエラーが表示されます。 $ >mysql -u root -p -h localhost -D database -o < dump.sql ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: 'SQLite format 3'. …

5
アタッチ/デタッチ対バックアップ/復元
データベースを(全体として)別のサーバーに転送して、別のテスト環境をセットアップするために複製データベースを作成する必要があります。 次の2つの選択肢があります。 ソースサーバーで完全バックアップを作成/ターゲットサーバーで復元。 移行元サーバーで切断/移行先サーバーで接続。 要件に応じた2つのソリューションの長所と短所は何ですか? SQL Server 2008 Enterpriseを使用しています。

1
pg_restore中にチェックポイントが頻繁に発生している
PostgreSQL 9.2.2(Windows 32ビット)にはpg_restore、チェックポイントの頻度に関するログ警告を体系的に表示するコマンドがあります。たとえば: LOG: checkpoints are occurring too frequently (17 seconds apart) HINT: Consider increasing the configuration parameter "checkpoint_segments". データベースのサイズは約3.3 Gbで、112テーブル/ 160ビューで、約14分で復元できます。 それが中に発生するのは正常pg_restoreですか?

2
Mongo DBレプリカがRECOVERING状態でスタックする
レプリカセットを作成しましたが、問題はレプリカセットの2メンバー[3メンバーセット]が48時間から復旧モードになっていることです。最初は、回復するノードのサイズが増加していましたが、現在では停止しています。そのため、ノードを復旧する際に、90 GBのデータと60 GBを超えるローカルデータの後にスタックします。 このモードから抜け出す方法は?

1
SQL Server 2016データベースをSQL Server 2017に一時的に移動してから元に戻す。出来ますか?
SQL Server 2016インスタンスからデータベースのバックアップを作成し、2017年のインスタンスに復元して作業を行う場合。 次に、2017年のインスタンスからそのデータベースを反転してバックアップし、それを使用して2016年のインスタンスの元のバージョンを上書きできますか?

2
1000ページの制限に達するオンラインページの復元
(I / O障害により修正された)破損に苦しんでいるデータベースを回復しようとする仕事をしました。私は、データベースまたはデータベースに含まれる内容に詳しくありません。 古い(最大3週間)フルバックアップと一連のトランザクションログが与えられました...しかし、トランザクションログが欠落しているため、特定の日付までしか回復できません。2.5週間分のデータが失われています(このデータベースには常に多くのデータが追加されています)。 また、破損したデータベースのコピー(アクセス可能ですが、多くのページが破損/欠落しています)のコピーも提供されています。 私は典型的なDBCC CHECKDBコマンドを試してみました(まだありrepair_allow_data_lossません。他に何も機能しない場合、それは私の最後の手段になります)。 多くの人がデータベースに出入りした後(dbは1.5テラバイトの小さな怪物で、私がすることはすべて遅くて時間がかかります)、破損したページの最後の正常なバックアップからオンラインページの復元を試みました。 それを行うためにRESTORE DATABASE <foo> PAGE='pages' FROM DISK='<bar.bak>'、DBCC CHECKDB出力から多くのコマンドを作成するスクリプトを作成しました(基本的には正規表現と異なる)...これまでのところ、これは1000ページの制限に達したと言った時点まで機能しました復元コマンドごとにファイルごと(このデータベースには8つのファイルがあります)。 そのため、「オンライン復元を完了する」ように求められますが、それを行う方法に途方に暮れています...私はテールログまたは最初の完全バックアップよりも完全なものを持っていないので、基本的に、残りのページで試行を続けるために復元を完了する方法がわかりません。 私は試してみましたRESTORE DATABASE <foo> WITH RECOVERYが、それでもうまくいきませんでした、私は持っていないログを要求します。 誰かがここから何かを回復しようとする方法についてのヒントを持っていますか?または、オンライン復元を「完了」して、さらに多くのページを復元しようとする方法はありますか?オフライン復元を試しても同じ問題が発生しますか(基本的WITH NORECOVERYにすべてを追加してから、最後に復元しようとしますか?) データベースを手作業で処理することは基本的に元に戻せません...数百万の行を持つ数百のテーブルがあり、それが何であるかについて明確な意味はありません。SELECT数百万行を超えると、破損したDBはクエリで失敗しますが、どこで解決できるかはわかりません。すべての非クラスター化インデックスを再構築しようとしましたが、行データを含む破損したページがあるため、どちらも機能しませんでした。 ある程度のデータ損失は許容されますが、DBでの一貫性の達成は少なくとも試みられるべきです。 破損したデータベースはまだオンラインであり、クライアントが作業しているため(新しいデータを取得し続けます)、ラボベンチで行うすべてのプロセスは、後で運用データベースで再現可能です(ダウンタイムは困難です)。 これはSQL Server 2014 Enterpriseです PS:私はDBAではありません...私はプログラマーですが、クライアントはいくつかの「エキスパート」SQLディザスタリカバリサービスを試してみましたが、彼らはあきらめました。何でもする。 更新:多くのテストの後、ページごとの復元は不要でしたので、アイデアを捨てました。手動リカバリ(破損したテーブルから不足しているレコードを手動で選択し、最後の既知の正常なバックアップに挿入する)を行い、自動化ツールを使用します(再び、何百ものテーブルがあります)。

1
差分バックアップの問題-なぜですか?これは可能ですか?
私はSQL Server 2014を使用していますが、これは状況です: サーバーAとサーバーBがあります。 夜間ETLはサーバーAで処理されます。 ロードプロセスが完了した後、データベースXは(と、バックアップされるCHECKSUMとRESTORE VERIFYONLY信頼性を確保するため)、その後、サーバBに送信されます サーバーBはbakファイルを受信し、データベースをそこに復元します。 差分バックアップ戦略を使用して、次のことを行います。 完全バックアップは土曜日にのみ行わ れます。つまり、土曜日にサーバーAの完全バックアップ->サーバーBに出荷->サーバーBの完全バックアップを復元します。 残りの日は差分バックアップ、 つまりサーバーAの差分バックアップ->サーバーBに出荷->サーバーBの差分バックアップを復元します 試しましたが、エラーが発生しました: ロールフォワードの準備ができているファイルがないため、ログまたは差分バックアップを復元できません。 理由はわかりません。sys.database_filesサーバーAとサーバーB を確認しましたが、differential_Base_LSNとdifferential_base_GUIDは同じであることがわかります。どこでも/他に確認するものはありますか? ちなみに、上記の手順2でサーバーBの差分バックアップを復元する場合、毎回完全バックアップと差分バックアップの両方を常に復元する必要がありますか? WITH RECOVERY完全バックアップは前日にすでに復元されているため、差分バックアップのみを復元しました(そしてそのエラーメッセージが表示されました)。 明確にするために:はい、サーバーBのデータベースを差分間で読み取り可能にします。どうすればそれを回避できますか?毎晩RESTORE FULL (WITH NORECOVERY)+ RESTORE DIFF (WITH RECOVERY)コンボシーケンスを行う唯一のオプションはありますか? どんなガイダンスでも大歓迎です。

1
高可用性でのSQL Server 2012データベースの復元
別のインスタンスの別のデータベースと同期された、常時オンの高可用性モードのデータベースがあります。.bakを使用してファイルからプライマリデータベースに復元するにはどうすればよいT-SQLですか? 私は高可用性に不慣れであり、復元を行う前にデータベースを高可用性から削除してから再び高可用性に戻す必要があるとアドバイスされましたが、よくわかりません。 プライマリAlwaysOnがまだ有効であり、セカンダリと自動的に同期する間に、プライマリに直接復元できることを望んでいます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.