2

MDFファイル(ライブインスタンスでバックアップとして生成された)からライブSQLServerデータベースに単一のレコードを復元するための最善のアプローチは何でしょうか。

ファイルをデータベースに添付するプロセスについて知っており、完全な復元についてかなり読んだことがありますが、テーブルの1つから単一のレコードを選択し、それをライブインスタンスの同じテーブルに挿入し直すのはどうでしょうか。

selectステートメントの結果の行に基づいて、いつでも自分で新しいレコードを最初から作成できましたが、このような単純なタスクには、よりスマートでクリーンなアプローチが必要であると確信しています。

たくさんの事前に感謝し、あなたの答えを楽しみにしています。

乾杯。

4

4 に答える 4

2

MDFファイルからレコードを単純に読み取ることはできません。レコードを添付するか、データベースに復元する必要があります。

于 2011-09-16T22:45:20.707 に答える
2

本来、できません。ただし、Red Gateには、バックアップからデータベースをマウントできるVirtualRestoreと呼ばれる製品があります。

于 2011-09-16T23:27:43.823 に答える
2

これは現在の計画ですか、それとも将来の計画ですか。後者の場合、データベーススナップショットを利用できます。

于 2011-09-16T23:30:43.333 に答える
1

ライブサーバーでの柔軟性の種類に応じて、ライブサーバーまたは別のリンクサーバーに別の名前でバックアップデータベースをアタッチしてから、ライブデータベースの同等のテーブルに直接挿入するレコードを選択することができます。 。

これがどれだけ実行可能かは、主キーに完全に依存します。自動生成されたID列の場合、それを選択すると別の主キーが表示され、追加したいリンクされたレコードに望ましくない結果が生じる可能性があります。新しい主キーを考慮に入れる必要があります。

クエリの例

insert into originaldb.dbo.Persons 
select * from backupdb.dbo.Persons where PersonId = '654G'

originaldb.dbo.Personsは、選択する元のテーブルです。

backupdb.dbo.Personsは、復元されたバックアップテーブルです。

行全体を選択していない場合は、このクエリを少し変更する必要がありますが、それがその要点です。

于 2011-09-17T15:16:18.987 に答える