Sql数据库的备份和恢复.净,c#

本文关键字:恢复 数据库 备份 Sql | 更新日期: 2023-09-27 18:03:51

在这里,我已经展示了我的c#代码的备份和恢复与Sql数据库

在备份工作正常,但当我试图从备份文件夹恢复数据库,时间发生一个错误,错误是:

RESTORE cannot process database 'UsersDB'因为它正在被使用在本届会议上。建议使用主数据库执行该操作时。RESTORE DATABASE正在终止异常。

备份按钮:

protected void btnbackup_Click(object sender, EventArgs e)
    {
        sqlcon.ConnectionString = (System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString());
        string destdir = "C:''backupdb";
        if (!System.IO.Directory.Exists(destdir))
        {
            System.IO.Directory.CreateDirectory("C:''backupdb");
        }
        try
        {
            sqlcon.Open();
            sqlcmd = new SqlCommand("backup database UsersDB to disk='" + destdir + "''" + DateTime.Now.ToString("ddMMyyyy_HHmmss") + ".Bak'", sqlcon);
            sqlcmd.ExecuteNonQuery();
            Response.Write("Backup database successfully");
        }
        catch (Exception ex)
        {
            Response.Write("Error During backup database!");
        }
    }

Restore按钮:

 protected void btnrestore_Click(object sender, EventArgs e)
    {
        try
        {

        sqlcon.ConnectionString = (System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString());
        sqlcon.Open();
        string destdir = "C:''backupdb''11082014_121403.Bak";
        sqlcmd = new SqlCommand("Restore database UsersDB from disk='C:11082014_143650.Bak' ", sqlcon);
        sqlcmd.ExecuteNonQuery();
        Response.Write("restore database successfully");
        }
        catch (Exception ex)
        {
            Response.Write("Error During backup database!");
        }
    }

Thanks in advance

Sql数据库的备份和恢复.净,c#

错误消息本身指出您无法连接到您所连接的确切数据库。

你需要改变你的连接字符串,而不是,

initial catalog=test_db 

使用这个,

initial_catalog=master. 

在连接字符串中,您已连接到要备份的数据库。

连接到另一个数据库或不连接数据库,它就会工作。