0

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

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

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

在此处输入图像描述

到目前为止,一切都很好。但是这里的问题是:

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

我知道文件系统的数据被假定仍然在旧位置的方式是,我可以看到在旧位置创建的带有相应文件系统名称的新文件夹。

我尝试进入系统数据库(Main Window > Manage Your Server > To System Database),但文件系统没有出现在这里。

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

4

1 回答 1

1

尤里卡,我发现了这一点:

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

解决方案:在系统数据库中,将鼠标光标放在顶部的 quick-goto-/search-field(“转到文档”)并输入Raven/FileSystems/,从这里开始,自动完成将向我显示可用的文件系统。选择正确的文件系统,我现在可以编辑文件系统的(实际上被覆盖的)路径,该路径设置为绝对路径。

在此处输入图像描述

请注意,一般而言,您绝对应该使用相对于 Raven/DataDirRaven/FileSystem/DataDir设置的路径,例如~\filesystems\my-db以便更容易地共同移动所有 dbs 和 fs'es。

于 2016-07-27T07:58:45.647 回答