Installing an update for Service Accent triggers a database migration
Article ID: 0411191335415 - Last Review: 18 May 2006 by jasonl - Revision: 1 - Views: 3073
You install an update for Service Accent and the update wants to migrate your database. However, the database is already up to date and doesn't need migration. Cancelling the migration ends the setup of the update.
When you install an update, setup will compare the date and time of file.ddf in your [Database] folder with that of the same file in the update. If the update contains a newer file, the database migration is triggered. Setup will not continue if the database is not migrated. Under Windows 95/98, the time stamped on a file was the actual time the file was last updated. However, under Windows NT/2000/XP, the time is stored as GMT with a local offset. This is so that users looking at the same file from within different timezones see the time adjusted for their timezone.
If a file is updated during British Summer Time, the time is stored as GMT with a +1 hour offset. For example, if the file is updated at 10:00am, the actual time is stored as 9:00 + 1. Therefore, you will see the timestamp as 10:00am. When you view the file outside of British Summer Time, you will see the timestamp as 9:00 + 0, or 9:00am.
When file.ddf is archived in to the update, it is physically stored with the timestamp that Windows reports (10:00am in the example). When you install the update, Windows will report your local copy of file.ddf as having a timestamp of 9:00am (9:00 + 0), but the copy of file.ddf in the update will be stamped as 10:00. This appears newer than the local copy and so a database migration is triggered, even though the files are exactly the same.
Although it is designed to be a feature built in to Windows, it will break any software that is not capable of storing time in Windows NTFS format. We are investigating a workaround for this. The only solution at the moment is to allow the migration to run, even though it will not actually migrate any data. However, in order to determine that no changes need to be made, the migration ensures that it has exclusive access to the database tables. This will neccessitate that all users are logged out of Service Accent.
This phenomenon will not be experienced if you install an update in the same time zone as when file.ddf was last updated. It may be possible to workaround this by setting the local date to a date 6 months in the past (thus ensuring that the timezones match).