恢复数据库备份时出错

时间:2015-08-28 09:05:44

标签: c# smo database-restore

我知道这似乎是一个重复的问题,但以前的问题无法解决我的问题 我使用此代码来恢复我创建的备份。

public string conrestore = "Data Source=.;Integrated Security=True";

private void btn_restore_Click(object sender, EventArgs e)
    {

        SqlConnection.ClearAllPools();

        using (SqlConnection con = new SqlConnection(conrestore))
        {
            ServerConnection srvconn = new ServerConnection(con);


            Server srvr = new Server(srvconn);

            if (srvr != null)
            {
                try
                {
                    Restore restoredb = new Restore();

                    restoredb.Action = RestoreActionType.Database;

                    restoredb.Database = "3LStoreDB";

                    OpenFileDialog openfd = new OpenFileDialog();

                    openfd.Filter = "Backup File (*.Bak)|*.Bak";

                    Nullable<bool> result = Convert.ToBoolean(openfd.ShowDialog());

                    if (result == true)
                    {
                        BackupDeviceItem bkDevice = new BackupDeviceItem(openfd.FileName, DeviceType.File);

                        restoredb.Devices.Add(bkDevice);

                        restoredb.ReplaceDatabase = true;

                        restoredb.SqlRestore(srvr);

                        MessageBox.Show("Restored successfully.");

                    }
                }
                catch(Exception ex) 
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }

直到行

才能正常工作
restoredb.SqlRestore(srvr);

它显示错误Restore failed for server 'Server Name'

我不知道这段代码有什么问题,我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

这太棒了,我不知道为什么会这样。但我登录了Windows并再次登录,现在它正常工作。