Assistance Needed for Duplicating M-Files Client Server

Hi,

Our primary use of M-Files involves integration with the SAP system.

We are planning to upgrade SAP soon, and before the upgrade, we want to conduct extensive testing between the systems.

For this testing, we need to duplicate the M-Files client server, but we are unsure about the best way to do it.

Here are some details about our setup:

  • We use SQL for metadata and Windows folders for file storage.
  • Our file repository is 6TB.
  • For the duplicate server, we only need the structure and objects with files from 2024 onward.

We are considering the following approach:

  1. Detach the vault.
  2. Open a new data folder.
  3. Copy only the subfolders from the "Filedata" directory that contain files dated after 2024.

We have a few questions:

  1. Is this the correct way to achieve our goal?
  2. The "Viewfiles" folder is over 1TB. Is it possible to copy only the subfolders with files from 2024 onward?

Please find attached screenshots for reference.

Thank you for your assistance.

  • I would be reluctant to go with your plan as outlined!

    You could create a copy of the existing vault with "structure only" and then use replication to transfer the 2024 files. You can set a filter in the replication export to include only documents created after 01/01/2024. You need to replicate other object types in full first and then replicate documents afterwards in order to get the relations from documents to older objects like customers and suppliers transferred correctly.

  • Hi,

    Thank you for your response.

    Here’s some additional information:
    We have over 2 million objects in our vault.

    I assume you are suggesting exporting objects using "Content Replication..." However, this might not be feasible due to the significant amount of time it would take.


    Another issue is that we want to create a separate server with this vault. When you say "make a copy," do you mean performing this on the production server and then detaching the vault to transfer it to the new server?



  • Yes, make copy would create a new vault on the same server. If you have access to the SQL server it is fairly easy make a copy of the vault database and restore it on the new server.  If both of the M-Files servers are using the same SQL server you would not have to backup and restore the SQL database, you could simple create a vault on the new server and connect it to the copy-database on the SQL server.

    I assume that the majority of your objects are documents, and they certainly will consume the major share of disk space used. Those numbers should therefor be significantly lower when you filter out documents older than 2024. It may still take a little time to run the replication but not so much that it would scare me off.

    I would use Scheduled export and just disable the schedule rather than One time export. That allows you to run the export again if something goes wrong. The selection filters will be saved and you can easily change filters etc. for the next attempt if required.

  • OK, just to clarify, you are not recommending deleting folders manually from "FileData," "AppLogs," or "ViewerFiles."

    Instead, you suggest duplicating the SQL database and exporting the files using Content Replication with filters applied. Is that correct?

  • That would be my procedure, yes.
    It will take some time, but it ensures the integrity of the database. It contains links to your files. If you just remove files you will end up with a lot of dead links to none existing files. This will create issues and you will spent a lot of time on fixing those issues afterwards. So I would follow the standard procedures rather than inventing some insecure shortcut.

  • Hi,

    Thank you for your support.
    We attempted to duplicate *only* the SQL database (I would like to note that the files are stored on disk E and not within the SQL database).

    When we try to attach the vault and connect it to the new database, we encounter an error related to the folder files.

    If I understand correctly, it seems *necessary* to duplicate all the folder files as well.
    Am I right?



     

    MPropertyPage2.cpp, 102, The file data location does not contain valid files for this document vault. (0x80040816)

    MPropertySheet2.cpp, 143, The file data location does not contain valid files for this document vault. (0x80040816)

    PropertySheetDocumentVault.cpp, 739, The file data location does not contain valid files for this document vault. (0x80040816)

    PropertySheetDocumentVault.cpp, 1231, The file data location does not contain valid files for this document vault. (0x80040816)

    PropertySheetDocumentVault.cpp, 1277, The file data location does not contain valid files for this document vault. (0x80040816)

    RPCMethodCallWithRetry.h, 180, The file data location does not contain valid files for this document vault. (0x80040816)

    RPCMethodCallWithRetry.h, 180, The file data location does not contain valid files for this document vault. (0x80040816)

    RPCVaultsAdmin.cpp, 1475, The file data location does not contain valid files for this document vault. (0x80040816)

    RPCVaultsAdmin.cpp, 88, The file data location does not contain valid files for this document vault. (0x80040816)

    VaultManager.cpp, 766, The file data location does not contain valid files for this document vault. (0x80040816)

    VaultManager.cpp, 1571, The file data location does not contain valid files for this document vault. (0x80040816)

    VaultDataFiles.cpp, 2240, The file data location does not contain valid files for this document vault. (0x80040816)

    (M-Files 23.1.12196.5 2025-01-07T14:56:31.530Z)

     

  • When you say "duplicate" it sounds a bit like you just made a copy of the database?That won't work.

    You need to follow procedure and work through M-Files Admin where you can create a copy of your existing vault. You can then use the copy on the same M-Files server, connect to the SQL database from a new M-Files server or use SQL backup and restore if you need to move the database to a different SQL server as well.