0
Я пытаюсь восстановить резервную копию базы данных SQL с помощью этого кодаВосстановление базы данных SQL Server с помощью C#
private void btnRestore_Click(object sender, EventArgs e)
{
string dbName = "BakodahDB";
try
{
Server dbServer = new Server(); //local using windows athuentication
Restore dbRestore = new Restore() { Database = dbName, Action = RestoreActionType.Database, ReplaceDatabase = true, NoRecovery = false };
dbRestore.Devices.AddDevice(@"C:\WorkHours\dbBackup.bak", DeviceType.File);
dbRestore.PercentComplete += DbRestore_PercentComplete;
dbRestore.Complete += DbRestore_Complete;
dbRestore.SqlRestoreAsync(dbServer);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Когда я нажмите происходит на кнопку ничего, даже не сообщение об ошибке ... Что такое правильный способ сделай это?
Возможный дубликат [Восстановление базы данных с использованием C#] (http://stackoverflow.com/questions/6943137/restoring-a-db-using-c-sharp) – MethodMan
Для дальнейшей помощи у меня есть пара вопросов. Вы пробовали переместить 'dbRestore' в более широкий диапазон, например класс? Как выглядят реалии ваших делегатов «DbRestore_PercentComplete» и «DbRestore_Complete»? Возможно ли, что работа продлится долго? – Cameron
Попробуйте не-асинхронную версию; это бросает? В качестве альтернативы можно обработать событие ['Information'] (https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.backuprestorebase.information.aspx) - что-либо сообщалось? – Blorgbeard