SQL Server SMO'yu bir .bak dosyasını yeni bir veritabanına geri yüklemek için kullanıyorum, ancak çalışmadı.smo geri yükleme veritabanı
sql server 2012 ve smo nesne sürüm 11.0
dosya .bak yanı aynı kodlama pc, sql yönetim stüdyo 2012, aynı yerel pc kullanılarak oluşturuldu son sdk sürümü olmasıdır.
alıyorum hata iletisi:
Server 'SERVER' için geri yüklenemedi.
Kodumda neyin var?
string dbPath = Path.Combine(@"d:\my data", dbName + "_db" + ".mdf");
string logPath = Path.Combine(@"d:\my data", dbName + "_db" + "_Log.ldf");
Restore restore = new Restore();
BackupDeviceItem deviceItem = new BackupDeviceItem("d:\template.BAK", DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = dbName + "_db";
RelocateFile relocateDataFile = new RelocateFile("Data", dbPath);
RelocateFile relocateLogFile = new RelocateFile("Log", logPath);
restore.RelocateFiles.Add(relocateDataFile);
restore.RelocateFiles.Add(relocateLogFile);
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(server);
GÜNCELLEME: Ben SMO çözümlerini surrended ve tüm
using (SqlConnection connection = new SqlConnection("Data Source=server;user id=sa;password=xxxxx;"))
{
using (SqlCommand command = new SqlCommand(@"RESTORE DATABASE beauty01 FROM DISK = 'd:\template.bak' WITH RECOVERY, MOVE 'beauty1' TO 'D:\MyData\beauty01_Data.mdf', MOVE 'beauty1_log' TO 'd:\Mydata\beauty01_Log.ldf', REPLACE", connection))
{
connection.Open();
// Add the parameters for the SelectCommand.
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
}
} >> work good.
Teşekkür çalıştı.
İç bir istisna var mı? Lütfen hata ayıklamasını kontrol edin, bu muhtemelen size gerçek sebebi verecektir. – Bridge
Ayrıca, önceden varolan dosyaların üzerine yazmaya çalıştığınızdan emin misiniz? Aynı dbName işlevini kullanırsanız, aynı ada sahip veri ve günlük dosyalarınız olabilir. Dosyanın önce var olup olmadığını kontrol etmeyi deneyin, eğer varsa, tekrar oluşturmayı deneyin. – Bridge
Yedekleme aygıtı 'd: \ template.BAK' açılamıyor. İşletim sistemi hatası 123 (Dosya adı, dizin adı veya birim etiketi sözdizimi yanlış.). >> .bak, sql management studio 2012 tarafından oluşturuldu ve smo, doğru sürüm (sürüm 11). –