私はSQLをあまり行っていませんが、これはまだかなり新しいので、おそらく基本的な質問は何でしょうか。
データベースをバックアップし、.baksを別のマシンに保存してから、それらを2番目のサーバーに復元するSQLジョブの作成を検討するように依頼されました。私は少し調査を行い、SSMSで遊んでおり、共有を設定し、共有の場所にバックアップジョブを実行することで、データベースを個人のマシンにバックアップしました。 .bakファイルを復元して(バックアップ元と同じサーバー上に)新しいデータベースを作成しようとしていますが(ただし、データベースに新しい名前を付けようとしています)、できませんバックアップ時に行ったように、共有からの復元を指定する/他のネットワークの場所を指定する方法が見つからず、ファイルを見つけようとしたときにサーバーのCドライブを参照しているだけです。
今のところ、これを実現するために組み込みのウィザードを使用しています([SSMS]-> [サーバーに接続]-> [データベース]を右クリック-> [データベースの復元]を選択し、[デバイスから]を選択してファイルを参照します)。
これは最終的なプロセスではなく、これがどのように機能するかを理解しようとしているだけです。私が言ったように、アイデアは最終的に、DBをserver1から.bakにバックアップし、それをserver2(異なるネットワーク、異なる都市)のDBに復元し、おそらく、毎回ウィザードを使用するのではなく、一連のSQLコマンドを使用します(最終的にバックアップが必要なDBがいくつかあります)。
おそらくかなり引き出されて複雑な質問についてお詫びします-基本的に、私が知る必要があるのは、別のマシンの.bakからSSMSのDBを復元できるかどうかです。どうもありがとう
次のスクリプトのようなものを使用できます。ファイルシステムからデータベースを復元し、既存のデータベースを「MyDB」という名前で上書きして、プロセス内で選択した新しい場所にファイルを移動します。
RESTORE DATABASE MyDB FROM DISK = '\\ MyShare\MyBackup.bak' WITH MOVE'DataFile 'TO'D:\ myNewDBLocation\DataFile.mdf '、 MOVE' LogFile'TO 'E:\\ myNewDBLocation\LogFile.ldf' 、REPLACE
Llogicalファイルの名前を見つけることができます(上記では、以下を実行することで、それらはDataFile
およびLogFile
と呼ばれます。
ファイルリストのみを復元 ディスクから= '\\ MyShare\MyBackup.bak'
さまざまなオプションとパラメータに関する追加情報: