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: Most helpful
  1. D B 111 Reputation points
    2020-12-03T16:31:59.393+00:00

    same exact problem, started December 1st, SCSM 2012R2. we applied Windows patches on 11/28, but DW jobs ran for a few days after that, so probably not related...


  2. Zakaria Muhammad 161 Reputation points
    2020-12-03T17:56:12.69+00:00

    Did anyone found the solution of this? for me ETL stop working same as Dec 1.

    0 comments No comments

  3. Zakaria Muhammad 161 Reputation points
    2020-12-03T18:19:49.72+00:00

    Could be related to the 2020 as a leap year? I see the constraints on each fact month table the DEC entry is it should be 20201231

    USE [DWRepository]
    GO

    ALTER TABLE [dbo].[EntityRelatesToEntityFact_2020_Dec] WITH CHECK ADD CONSTRAINT [EntityRelatesToEntityFact_2020_Dec_Chk] CHECK (([DateKey]>=(20201201) AND [DateKey]<=(20201230)))
    GO

    ALTER TABLE [dbo].[EntityRelatesToEntityFact_2020_Dec] CHECK CONSTRAINT [EntityRelatesToEntityFact_2020_Dec_Chk]
    GO

    Any thoughts?


  4. Andreas Baumgarten 96,601 Reputation points MVP
    2020-12-03T18:34:36.04+00:00

    Hi @XinGuo-MSFT
    Maybe you can take a look on these SCSM Data Warehouse issues?

    ----------

    Kind regards
    Andreas Baumgarten