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.
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)
Pruning Version History
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
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:
Depending on ‘how fragmented a table is’ you can either Reorganise or Rebuild (if > 20%) each index
regards
Marc
is working on a reply...