我的任务:将包含Ravendb安装的数据库和文件系统的目录从一个驱动器移动到另一个驱动器(由于磁盘空间问题),而无需移动或更改Ravendb安装本身 .
我设法通过以下方式移动数据库:
-
关闭Ravendb服务
-
移动包含子文件夹
Databases
和FileSystems
的数据文件夹 -
打开Raven.Server.exe.config并更改设置
Raven/DataDir
和Raven/FileSystem/DataDir
的值 -
再次启动Ravendb服务
-
Tricky part :使用Raven Studio转到 some (并非所有)数据库,然后选择设置>数据库设置并在此处(再次)更改
Raven/DataDir
的值 . 显然,不知何故,对于我的一些数据库,这个值在db本身的某些元数据中被覆盖,而不是使用tilde来查看相对于全局设置(尽管实际的db或db定义或某些内容正在正确加载,因为我甚至可以看到这个设置/值)
到现在为止还挺好 . 但这里的问题是:
显然,对于某些文件系统(同样不是全部),Ravendb似乎认为,他们的"data-data"仍然在旧位置(同样,实际的文件系统元数据似乎是从新位置加载的) . 但是,文件系统没有类似Raven Studio中的数据库设置,我可以更改这个数据目录,也可能在这里被覆盖 .
我知道文件系统的数据仍然位于旧位置的方式是,我可以看到在旧位置创建的新文件夹具有相应文件系统的名称 .
我尝试进入系统db(主窗口>管理您的服务器>到系统数据库),但文件系统没有出现在这里 .
所以我的问题是:如何更改或设置单个文件系统的 Raven/FileSystem/DataDir
设置?
1 回答
尤里卡,我发现了这个:
确实是错误,由于某些原因,在Raven Studio中查看时,我的文件系统不会出现在系统db中 . 我意识到这一点,因为系统db中的状态栏表示 40 documents ,但列表中可见的较少 . 这肯定是Raven Studio中的一个错误 .
解决方案:在系统数据库中,将鼠标光标放在顶部的快速转到/搜索字段中( "Go to document" )并输入
Raven/FileSystems/
,从此处开始,自动完成将显示可用的文件系统 . 选择正确的文件系统,我现在能够编辑文件系统的(确实被覆盖的)路径,该路径被设置为绝对路径 .请注意,通常您应该使用相对于
Raven/DataDir
和Raven/FileSystem/DataDir
设置的路径,例如〜\ filesystems \ my-db更容易集中移动所有dbs和fs'es .