次のリンクは、marc_sと同様のソリューションを提供し、さらに深くなります。以下のリンクで提供されているソリューションを使用して、バックアップファイルから新しいDBを正常に作成できました。
http://codeonaboat.wordpress.com/2012/02/16/sql-server-2008-creating-a-database-from-a-bak-file/
以下の解決策は、上記のリンクからコピーされています。
SSMSで、データベースサーバーのマスターデータベースでクエリウィンドウを開きます。ここで、次のクエリを実行します。
.bakファイルにバックアップされたデータベースの「LogicalName」が何であるかを確認します
ディスクからのみファイルリストを復元='c:\ DatabaseBackups \ dev2012021601.bak'
これにより、データベースとそれに関連するログファイルの論理名がわかります。名前が「<strong>dbname」と「<strong>dbname_log」</p>であると仮定します。
- 次に、次の復元コマンドを実行します。作成しようとしている名前のデータベースがまだ存在していないことを確認してください(以下のコードサンプルでは、dbForSocialMigrationは存在しません)。
RESTORE DATABASE dbForSocialMigration
FROM DISK = 'c:\DatabaseBackups\dev20120307.bak'
WITH
MOVE 'dbname' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\dbForSocialMigration.mdf',
MOVE 'dbname_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\dbForSocialMigration_log.mdf'
C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA
SQLExpressが通常データファイルを保持するディレクトリです。データベースサーバーが使用しているディレクトリを見つけるには、データベースサーバーからデータベースを選択し、右クリックしてプロパティダイアログを開き、左側から[ファイル]オプションを選択します。
これでうまくいくはずです。その時点で、.bakファイルのすべてのテーブルとデータが入力されたデータベース「dbForSocialMigration」にアクセスできるはずです。