代码之家  ›  专栏  ›  技术社区  ›  Maghoumi

在C语言中运行时用备份文件替换数据库MDF文件#

  •  0
  • Maghoumi  · 技术社区  · 14 年前

    我用 我的数据存储在 中密度纤维板 执行 . 我的程序的一部分有一个表单,可以通过复制 最不发达国家

    但是,如果我查询数据库,然后尝试用备份替换原始文件,我将得到 在其他进程中打开的文件 例外 ! 问题是我不知道如何关闭 文件在 SqlServer服务器 实例。

    Linq到Sql

    任何帮助或建议,为我的案件更好的编程方法是非常感谢。

    2 回复  |  直到 12 年前
        1
  •  1
  •   Community Aniket Inge    7 年前

    这可能无法满足您的需要,但您可能需要考虑将应用程序切换为使用sqlservercompactedition(“SqlCE”)而不是Sql Server(正确)。听起来像是在使用数据库作为应用程序的基本备份文件,这并不是Sql Server的真正目的。SqlCE是专门为这类事情设计的,在桌面上工作得很好。您可以很容易地关闭与SqlCE的连接,并像操作任何其他文件一样操作SDF文件(您试图对Sql Server MDF文件执行的操作失败)。

    更新: 你需要的是:

    USE master 
    GO 
    ALTER DATABASE YourDatabaseName 
    SET OFFLINE WITH ROLLBACK IMMEDIATE 
    GO 
    

    this answer )

        2
  •  0
  •   Albin Sunnanbo    14 年前

    在复制文件之前,需要停止SQL server或使数据库脱机。