SCSM 2012 SP1 Data Warehouse Jobs failed with error message of <xxxx>vw is not updatable because a partitioning column was not found.

Wyatt Wong 116 Reputation points
2020-12-02T06:55:13.05+00:00

I found 4 data warehouse jobs have a Failed status. After further checking, the error messages mentioned "UNION ALL view '<xxxx>vw' is not updatable because a partitioning column was not found." How can I resolve the issue ?

Load.Common
Transform.Common
Load.CMDWDataMart
Load.OMDWDataMart

Service Manager
Service Manager
A family of System Center products for managing incidents and problems.
209 questions
{count} votes

Accepted answer
  1. D B 111 Reputation points
    2020-12-03T23:38:36.76+00:00

    steps provided by MS Support...I did these with all the job schedules disabled...

    on the datawarehouse SQL server...

    select max(datekey) from DWRepository..DateDim --should be 20501230
    select max(datekey) from DwDataMart..DateDim --should be 20501230
    select max(datekey) from CMDwDataMart..DateDim --should be 20501230
    select max(datekey) from OMDwDataMart..DateDim --should be 20501230

    If your errors are caused by this issue, the above queries will return 20201230

    If date keys are from Dec 2020, please use the below steps:

    1. Backup all DW DBs
    2. Add additional date keys until 2050
      Exec DWRepository.dbo.PopulateDateDim '20210101','20501231'
      Exec DwDataMart.dbo.PopulateDateDim '20210101','20501231'
      Exec CMDwDataMart.dbo.PopulateDateDim '20210101','20501231'
      Exec OMDwDataMart.dbo.PopulateDateDim '20210101','20501231'
    3. rebuild the constraints on all 2021 fact tables by using the following script Run the following on DWRepository, DWDatamart, CMDwDatamart, OMDwDatamart

    declare @objName sysname, @newChk as nvarchar(max)
    declare c cursor local FORWARD_ONLY READ_ONLY for
    select name from sys.sysobjects where xtype='C' and name like '%_2020_Dec_Chk' escape '\' order by 1
    open c; while 1=1 begin; fetch c into @objName if @@Fetch _STATUS<>0 break;
    set @objName = replace(@objName,'_2020_Dec_','_2021_Jan_')
    set @objName = replace(@objName,'_Chk','')
    set @newChk=replace('ALTER TABLE [dbo].[XYZFact_2021_Jan] WITH CHECK ADD CONSTRAINT [XYZFact_2021_Jan_Chk] CHECK (([DateKey]>=(20210101)));ALTER TABLE [dbo].[XYZFact_2021_Jan] CHECK CONSTRAINT [XYZFact_2021_Jan_Chk];','XYZFact_2021_Jan',@objName)
    exec sp_executesql @newChk
    end; close c; deallocate c;

    1. Restart Microsoft Monitoring Agent

    After this I was able to manually start each of the failed jobs, waited for completion, then enabled my job schedules.

    6 people found this answer helpful.

38 additional answers

Sort by: Oldest
  1. Andrew Gordon 11 Reputation points
    2020-12-03T00:04:02.2+00:00

    The same thing has just started happening to me two days ago for no apparent reason. I've tried restoring the databases from backup, but that isn't working either. I hope that somebody will have a solution soon.


  2. Andrew Gordon 11 Reputation points
    2020-12-03T01:02:35.383+00:00

    2012 SP1.
    I'm following the steps found here, https://gotoguy.blog/2013/12/13/data-warehouse-jobs-fails-when-upgrading-service-manager-2012-from-sp1-to-r2/, and am trying the fix of creating new PKs for each table that is showing an error. I hope this fixes it. If it does, I'll let you know here.


  3. Norbert Pelenczei 1 Reputation point
    2020-12-03T09:47:20.417+00:00

    Hi
    On our own scsm system (SCSM 2016) the same problem and approx. it began at the same time. One of our clients (SCSM 2012 R2) also experienced the same situation, also from 01.12.2015.


  4. Norbert Pelenczei 1 Reputation point
    2020-12-03T15:02:30.97+00:00

    There may be a reason for the error: all ... Fact_2021_Jan table is missing Constraints, probably after creating it, the problem will be solved. I will test and give feedback tomorrow.

    0 comments No comments