登录失败错误在c#中恢复数据库sql

时间:2018-01-26 06:06:02

标签: c# sql-server database

我正在尝试使用以下代码恢复数据库:

OpenFileDialog open1 = new OpenFileDialog();
open1.FilterIndex = 1;
open1.Title = "restory backup databse";
open1.Filter = "Backup File (*.Bak)|*.Bak";

if (open1.ShowDialog() == DialogResult.OK)
{
    if (back_restore(@"Alter DataBase [Attendance_DB] set single_User with Rollback Immediate use master Restore Database [Attendance_DB] From Disk  ='" + open1.FileName + "' with Replace "))
    {
        MessageBox.Show("successfully restored");
    }
    else
    {
        MessageBox.Show("error");
    }
}

public static bool back_restore (string Query)
{
    SqlConnection Con = new SqlConnection();
    Con.ConnectionString = @"Data Source=.;Initial Catalog=Attendance_DB;Integrated Security=True";
    Con.FireInfoMessageEventOnUserErrors = true;

    Con.Open();

    SqlCommand cmd = new SqlCommand(Query, Con);

    Con.FireInfoMessageEventOnUserErrors = false;

    try
    {
        cmd.ExecuteNonQuery();
        return true;
    }
    catch(SqlException ex)
    {
        MessageBox.Show(ex.Message);
        return false;
    }
    finally
    {
        Con.Close();
    }
}

但是我收到了这个错误:

  

System.Data.dll中出现未处理的“System.Data.SqlClient.SqlException”类型异常

     

附加信息:无法打开登录请求的数据库“Attendance_DB”。登录失败。

请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

缺少一些信息来准确回答这个问题, 首先要确保 1- "Attendance_DB"实际存在。 2-如果它确实存在且您无法运行命令,请以管理员身份运行您的实用程序。或者,如果您在某些IDE中运行代码,请以管理员身份运行IDE。 3-确保数据库服务器接受Windows Authentication,因为您在连接字符串中使用Integrated Security=True"。 HTH

相关问题