Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Paul de Quant 403 posts 1520 karma points
    Aug 10, 2020 @ 16:38
    Paul de Quant
    0

    Hi,

    We're having issues trying to migrate our content from a version 7 CMS to version 8 in that it just doesn't seem to to finish. I've tried updating the connection timeout to 10 mins, which has helped to a certain degree but its still not good enough. The migration stopped at around the 10 hour mark.

    As the migration wizard runs through the database rows, I was wondering if it's possible to reduce the load by clearing down the version history of the pages.

    I was thinking of going through the cmsDocument table and deleting anything that as an updateDate older than a year, just so that we get the record count down.

    Is there any reason why this shouldn't be done and if not, what other tables (if any) would also need to be pruned.

    Thanks

  • Marc Goodson 2126 posts 14217 karma points MVP 8x c-trib
    Aug 10, 2020 @ 19:15
    Marc Goodson
    0

    Hi Paul

    Yes, if you remove old versions of the content that will speed things up a bit...

    have a look at 'UnVersion': https://our.umbraco.com/packages/website-utilities/unversion/

    Basically there are lots of related database tables that you need to delete records from in the right order for each of the old versions to be deleted (cmsPropertyData etc) - but the above package will do it for you!

    The other thing to consider before doing your upgrade is to ensure that your database table indexes aren't hideously fragmented... the following SQL should tell you if you have any fragmented on your Sql Server database, that you can then rebuild or reorganise before attempting the migration:

       SELECT
             [dbindexes].[object_id] as [Id],
             [dbtables].[name] as [Table],
             [dbindexes].[name] as [IndexName],
             [dbindexes].[type_desc] as [IndexType],
             [indexstats].[avg_fragmentation_in_percent] as [FragmentationPercent],
             [indexstats].[page_count] as [PageCount],
             CASE lob_data_space_id WHEN 0 THEN 0 ELSE 1 END AS [HasLobData]
       FROM [sys].[dm_db_index_physical_stats] (DB_ID(), NULL, NULL, NULL, NULL) AS [indexstats]
       INNER JOIN [sys].[tables] [dbtables] ON [dbtables].[object_id] = [indexstats].[object_id]
       INNER JOIN [sys].[indexes] [dbindexes] ON [dbindexes].[object_id] = [indexstats].[object_id] AND [indexstats].[index_id] = [dbindexes].[index_id]
       WHERE [indexstats].[database_id] = DB_ID() 
       AND [dbindexes].[name] IS NOT NULL
    

    Depending on ‘how fragmented a table is’ you can either Reorganise or Rebuild (if > 20%) each index

    ALTER INDEX [indexname] ON tablename REORGANIZE
    or
    ALTER INDEX [indexname] ON tablename REBUILD WITH (ONLINE = ON)
    

    regards

    Marc

Please Sign in or register to post replies

Write your reply to:

Draft