Take the community feedback survey now.

Magnus Rahl
Aug 24, 2009
  6519
(0 votes)

R2 SP2 Upgrade fails with case sensitive collation

Trying to upgrade a site from EPiServer CMS 5 R2 SP1 to R2 SP2 I ran into problems. The error message I encountered was

Invalid column name 'fkPageTypeId'
Invalid column name 'pkId'
Invalid column name 'fkPageId'

The reason turned out to be that the database, for an unknown reason (it’s an old migrated site), was using a case sensitive collation, and one of the upgrade scripts has incorrect case in a couple of lines. The culprit is the file [EPiServer install dir]\CMS\5.2.375.236\Upgrade\Database\sql\0005_0002_0375_0220to0005_0002_0375_0229.sql where the following lines had to be changed:

Line 48:
select tblPage.pkId, tblPAge.fkMasterLanguageBranchId FROM tblPageType
    INNER JOIN tblPage ON tblPage.fkPageTypeId = tblPageType.pkId
    INNER JOIN tblPageLanguage ON tblPageLanguage.fkPageId = tblPage.pkId

Should be:

select tblPage.pkID, tblPage.fkMasterLanguageBranchID FROM tblPageType
    INNER JOIN tblPage ON tblPage.fkPageTypeID = tblPageType.pkID
    INNER JOIN tblPageLanguage ON tblPageLanguage.fkPageID = tblPage.pkID

Line 94:
UPDATE tblPageLanguage SET PublishedVersion = @workPageId WHERE fkPageId = @pageId AND fkLanguageBranchId = @masterLanguageBranchId

Should be:

UPDATE tblPageLanguage SET PublishedVersion = @workPageId WHERE fkPageID = @pageId AND fkLanguageBranchID = @masterLanguageBranchId

Aug 24, 2009

Comments

Please login to comment.
Latest blogs
Running Optimizely CMS 12 on .NET 10 in Azure

Upgrade your Optimizely CMS website to .NET 10!

Tomas Hensrud Gulla | Nov 21, 2025 |

Experimentation Evolution with AI (Masterclass Recap)

If you think you are not using AI in your experimentation program you are probably wrong. Ever asked an AI to rephrase a hypothesis or brainstorm a...

Polly Walton | Nov 21, 2025

Effortlessly Configurable Custom Fields for Scheduled Jobs in Optimizely with PlugInProperty

Optimizely CMS lets developers add job parameters—such as textboxes and checkboxes—directly to the scheduled job admin UI using PlugInProperty. Wit...

Ravindra S. Rathore | Nov 21, 2025 |

Optimizely Package Explorer: Now With Extra Superpowers

If you’ve ever opened a .episerverdata file and asked “What is in here?” (guilty as charged) — then this is your moment. We’ve given our open-sourc...

Allan Thraen | Nov 20, 2025 |

Operational observability using application insights to trace checkout end to end

You can’t fix what you can’t see. In a modern, distributed e‑commerce system, the checkout flow touches multiple services from the front-end UI to...

Sanjay Kumar | Nov 19, 2025

Optimizely Web Experimentation on Single Page Applications

  Introduction Most of the modern web applications are built as Single Page applications (SPA) which provides a quick and smooth experience to the...

Ratish | Nov 16, 2025 |