web-dev-qa-db-ja.com

スクリプトを使用して、.bakファイルから複数のSQLデータベースを復元できますか?

100を超えるSQLデータベースを新しい場所の新しいサーバーに移行しています。完全なバックアップを取るためのメンテナンスプランを用意し、次に.bakファイルを一時ディレクトリに追加します。私が探しているのは、それらを大量に復元する方法です.bakファイルを使用すると、週末を費やす必要がなくなります。

私はここでまともなストアドプロシージャを見つけました: SQL復元

私はそれを配置してテストしたところ、次のエラーが発生しました:

メッセージ3118、レベル16、状態1、行1
データベース「TF058」は存在しませんRESTOREは、プライマリファイルの完全バックアップまたはファイルバックアップのいずれかを復元する場合にのみ、データベースを作成できます。
メッセージ3013、レベル16、状態1、行1
RESTORE DATABASEが異常終了しています。

SQL Server 2012を実行していますが、データベースは完全復旧モードです。

5
BSanders

使用できます

  1. sqlmigration- Start-SqlServerMigration.ps1

    このスクリプトは、デタッチ/コピー/アタッチまたはバックアップ/復元を使用してデータベースを移行する機能を提供します。パスワード、SID、データベース/サーバーロールを含むSQL Serverログインも移行できます。さらに、Job Serverオブジェクトを移行したり、サーバー構成設定をエクスポートまたは移行したりできます。このスクリプトは、名前付きインスタンス、クラスター、およびSQL Expressで動作します。

  2. Genieの復元- PowerShellt-SQL の両方のバージョンがあります。

私は両方を使用しました、そして彼らは命の恩人です。最初にそれらをテストすることを強くお勧めします。最初のものはあなたの状況で役立つものです。

5
Kin Shah