如何在Ravendb中更改(单个)文件系统的位置?

时间:2016-07-26 22:22:26

标签: ravendb ravendb-studio

我的任务:将包含Ravendb安装的数据库和文件系统的目录从一个驱动器移动到另一个驱动器(由于磁盘空间问题)而不移动或更改Ravendb安装本身。

我设法通过以下方式移动数据库:

  1. 关闭Ravendb服务
  2. 移动包含子文件夹DatabasesFileSystems
  3. 的数据文件夹
  4. 打开 Raven.Server.exe.config 并更改设置Raven/DataDirRaven/FileSystem/DataDir
  5. 的值
  6. 再次启动Ravendb服务
  7. 棘手的部分:使用Raven Studio转到某些(并非所有)数据库并选择设置> 数据库设置并在此处(再次)更改Raven/DataDir的值。显然,不知何故,对于我的一些数据库,这个值在db本身的某些元数据中被覆盖,而不是使用tilde来查看相对于全局设置(尽管实际的db或db定义或某些内容正在正确加载,因为我甚至可以看到这个设置/值)
  8. enter image description here

    到目前为止一切顺利。但问题出在这里:

    显然,对于某些文件系统(同样不是全部),Ravendb似乎认为,他们的"数据 - 数据"仍处于旧位置(同样,实际的文件系统元数据似乎是从新位置加载的)。但是,文件系统没有类似于Raven Studio中的数据库设置,我可以更改这个数据目录,也可能在这里被覆盖。

    我了解文件系统的方式'假设数据仍然在旧位置,我可以看到在旧位置创建的新文件夹,其中包含相应文件系统的名称。

    我尝试进入系统db(主窗口> 管理您的服务器> 到系统数据库),但文件 - 系统没有出现在这里。

    所以我的问题是:如何更改或设置单个文件系统的Raven/FileSystem/DataDir设置?

1 个答案:

答案 0 :(得分:1)

尤里卡,我发现了这个:

确实是错误,由于某种原因,在Raven Studio中查看时,我的文件系统不会出现在系统数据库中。我意识到这一点,因为系统数据库中的状态栏表示 40个文档 ,但列表中可见的更少。这肯定是Raven Studio中的一个错误。

解决方案:在系统数据库中,将鼠标光标放在顶部的快速转到/搜索字段中( "转到文档" )并键入Raven/FileSystems/,从此处开始,自动完成功能会向我显示可用的文件系统。选择正确的文件系统,我现在能够编辑文件系统的(确实被覆盖的)路径,该路径被设置为绝对路径。

enter image description here

请注意,通常您应该使用相对于Raven/DataDirRaven/FileSystem/DataDir设置的路径,例如〜\ filesystems \ my-db 可以更轻松地集中移动所有dbs和fs。