【问题标题】:Can't restore database with LocalDB无法使用 LocalDB 还原数据库
【发布时间】:2013-09-11 07:32:37
【问题描述】:

我已经使用此代码大约 2 年来将 2008 r2 备份恢复到 2008 r2,并且每次都能正常工作。我现在正在尝试使用相同的代码从 2008 r2 备份恢复到 2012 localdb,但每次都失败。错误消息如下。不仅恢复失败,它使我当前的数据库处于“恢复挂起”状态,并且无法使用。我正在使用 c#,这一切都必须以编程方式完成,无需用户或 DBA 参与。你能帮我让这件事重回正轨吗?

        using(var connection = new SqlConnection(connectionString))
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = String.Format("Alter Database {0} SET SINGLE_USER With ROLLBACK IMMEDIATE", dbName);
            cmd.CommandType = CommandType.Text;
            cmd.Connection = connection;
            connection.Open();
            cmd.ExecuteNonQuery();

            SqlCommand cmd2 = new SqlCommand();
            cmd2.CommandText = String.Format(@"RESTORE DATABASE {0} FROM DISK = '{1}'", dbName, backupFilePath);
            cmd2.CommandType = CommandType.Text;
            cmd2.Connection = connection;
            cmd2.ExecuteNonQuery();
        }

System.Data.SqlClient.SqlException (0x80131904):找不到逻辑数据库文件“MyData_log”。指定文件的完整路径。 RESTORE 无法启动数据库“MyData”。 RESTORE DATABASE 异常终止。

编辑:将一行改为

            cmd2.CommandText = String.Format(@"RESTORE DATABASE {0} FROM DISK = '{1}' WITH  FILE = 1, NOUNLOAD, REPLACE, STATS = 5", dbName, backupFilePath);

到目前为止没有任何区别。

【问题讨论】:

    标签: sql-server localdb


    【解决方案1】:

    您不应该 RESTORE DATABASE 并使用 WITH REPLACE 选项吗?您的连接字符串是否将您连接到运行这些命令的“主”数据库,而不是正在恢复的数据库?

    您是否使用过 SQL Server Management Studio 查看 *.mdf 和 *.ldf 文件的数据库文件名和位置?

    我还发现,有时数据库的第一次还原无法按预期工作,但随后的还原...您是否尝试过手动还原数据库(使用 SQL Server Management Studio...右键单击数据库,任务,恢复数据库),然后尝试以编程方式运行代码?

    通常,在以编程方式进行恢复时,您希望获取 mdf 和 ldf 文件的文件名,然后在 RESTORE 命令中使用“WITH REPLACE”选项指定它们。

    【讨论】:

    • 查看问题的编辑。我从 SSMS 恢复窗口复制了 sql 以用作新命令。到目前为止,将 sql 2008 r2 数据库恢复到 sql 2012 数据库还没有奏效。我初步发现,如果我在测试机器上安装完整的 sql express 2012,即使我仍在使用 LocalDB,也可以恢复。非常奇怪,我将不得不继续测试。
    猜你喜欢
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2019-09-12
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多