1

新しい名前でデータベースのコピーを作成する必要があります。私のasp.net mvcプロジェクトでsmoは、データベースのバックアップを作成するために使用し、復元を試みます。私はこれが好きです:http://www.mssqltips.com/sqlservertip/1849/backup-and-restore-sql-server-databases-programmatically-with-smo/

しかし、例外があります:

ファイル 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LocalClientTrakDB.mdf' は上書きできません。データベース「LocalClientTrakDB」で使用されています。
ファイル 'LocalClientTrakDB' を 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LocalClientTrakDB.mdf' に復元できません。WITH MOVE を使用して、ファイルの有効な場所を特定します。
ファイル 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LocalClientTrakDB_log.ldf' は上書きできません。データベース「LocalClientTrakDB」で使用されています。
ファイル 'LocalClientTrakDB_log' を 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\LocalClientTrakDB_log.ldf' に復元できません。
RESTORE ステートメントの計画中に問題が特定されました。前のメッセージに詳細が記載されています。
RESTORE DATABASE が異常終了しています。

データベースを復元する私のコード:

static void DatabaseRestore(Server myServer, Database myDatabase)
{
    string newdbfilename = myDatabase.Name + "New";

    Restore restoreDB = new Restore();
    restoreDB.Database = newdbfilename;

    restoreDB.Action = RestoreActionType.Database;
    restoreDB.Devices.AddDevice(@"C:\temp\TestFullDB.bak", DeviceType.File);

    restoreDB.ReplaceDatabase = true;
    restoreDB.NoRecovery = false;

    restoreDB.SqlRestore(myServer);
}

何か考えはありますか?

4

0 に答える 0