2010-11-18 15 views
0

Veritabanını başka bir veritabanından nasıl geri yükleyebilirim?) Veritabanını başka bir veritabanından geri yükleme SMO

(sqlRestore = new Restore; i dosyadan yaptığınızda

ben böyle yapmak geri

BackupDeviceItem deviceItem = new BackupDeviceItem(filePath, DeviceType.File); 
    sqlRestore.Devices.Add(deviceItem); 
    sqlRestore.Database = databaseName; 

    ServerConnection connection = new ServerConnection(serverName, userName, password); 
    Server sqlServer = new Server(connection); 

    Database db = sqlServer.Databases[databaseName]; 
    sqlRestore.Action = RestoreActionType.Database; 
    String dataFileLocation = dataFilePath + databaseName + ".mdf"; 
    String logFileLocation = logFilePath + databaseName + "_Log.ldf"; 


    sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName, dataFileLocation)); 
    sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName+"_log", logFileLocation)); 
    sqlRestore.ReplaceDatabase = true; 


    sqlRestore.SqlRestore(sqlServer); 

Ama veritabanından nasıl geri yükleyebilirim? Veritabanının kendisini kaynak olarak vermesi için bak dosyası vermek yerine?

Teşekkürler.

cevap

0

Muhtemelen bunun yerine SMO Transfer nesnesine bakmanız gerektiğini düşünüyorum.

Ancak, bunun tam bir veritabanını kopyalamanın en kolay yolu genellikle yedeklemektir ve farklı bir adla geri yüklemektir. Veya Veritabanı Kopyalama Sihirbazı'nı kullanabilirsiniz.

Daha fazla bilgi için Çevrimiçi Kitaplarda "Veritabanlarını Diğer Sunuculara Kopyalama" konusuna bakın.

İlgili konular