Bootstrap

文件服务器迁移到存储,附件文件服务器存储目录迁移方法

本文适用于同一文件服务器内,将文件存储目录手动迁移至另外存储目录的需求,例如将文件存储目录从D:\file迁移到E:\file。

1、操作步骤

Step1:确认并备份数据库文件。

因涉及到修改数据库数据等操作,为保证数据安全,开始迁移前须先备份数据库文件。

Step2:拷贝文件服务器物理文件。

本次将介绍如何将同一台文件服务器下D:\file目录的文件迁移至E:\file。

首先将D:\file完整复制到E:\file,注意是复制而不是剪切等,一个是避免因意外情况操作失败导致文件损坏,至少还保留源文档,另一个是不影响正在使用的用户。

Step3:确认并修改数据库存储目录。

通过 select * from T_Bas_FileServerDirInfo 脚本查询当前启用的文件服务器存储目录,FIsDefault字段值为1的表示当前正使用的存储目录,内码为-999999的是预插数据可不需要关注,如果历史启用过多个存储目录,则会有超过两条记录,如下图所示:

81af8ef9339029422b65781fd0b14fac.png

目前启用的是内码为136918的目录D:\file,历史启用过的是内码为146991的目录D:\file1。

本次将举例介绍如何将D:\file目录下的文件迁移至E:\file,而D:\file1目录下的文件暂时不动。

首先是修改数据库记录,将D:\file改为E:\file,本例的示例脚本为:update T_Bas_FileServerDirInfo set FDIRPATH = 'E:\file' where FFILESERVERDIRID = 136918 ,可根据实际情况调整存储目录及内码,下图为执行结果:

ff5f2488c546c0bc7ec401d9595620d0.png

Step4:更新文件信息表文件物理路径。

通过select * from t_BAS_FileServerFileinfo 脚本可查看当前文件存储信息等,如下图所示:

20a8af531e4ed2910dbba5329fcc203c.png

接着需要更新文件的物理路径,本例的示例脚本为:update T_BAS_FileServerFileinfo set FLOCATIONPATH = REPLACE(FLOCATIONPATH,'D:\file\','E:\file\') ,可根据实际情况调整源字符串 'D:\file\' 及 'E:\file\' 目标字符串,此处因为本例只对D:\file目录文件进行迁移,所以不需要关注D:\file1目录,下图为执行后的结果:

1a667b0ced7a78c3236169e7af0ba73d.png

Step5:重启文件服务器IIS并确认结果。

最后迁移完毕需要重启文件服务器的IIS站点,用以更新存储目录的缓存信息,同时重启完毕后,可上传新的文件,检查是否已经上传至新的目录过去了,同时对历史文件检查是否下载正常等,如果一切正常的话,此时再考虑是删掉原先D:\file目录下的文件还是保留下来作为备份文件。

;