Clustered PK constraint fails to create on a large table

  • I am trying to create a primary key constraint on a large table (see below). The table gets created correctly, but when I try to create the constraint with an ALTER TABLE statement, I get an error. I have found a couple of workarounds, but I really need to be able to create the constraint with the ALTER TABLE clause rather than inline, and it does need to be clustered. Thanks a lot for the help!

    Ilya

    Problem Description

    SQL Server fails to create primary key constraint using an "ALTER TABLE" statement on a table where the maximum possible size of a single row exceeds '''86780''' bytes (reported by a warning).

    MS SQL Server 2000 Version: 8.00.2039(SP4)

    Workarounds

    The problem is fixed if the constraint is made '''NONCLUSTERED'''

    The problem is also fixed if the constraint is defined inline with the column definition -> in that case the constraint remains clustered

    Error Message

    Warning: The table 'T_SPACEUSEAGREEMENT' has been created but its maximum row size (86780) exceeds the maximum number of bytes per row (8060). 
    INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
    
    Server: Msg 8618, Level 16, State 2, Line 1
    
    Warning: The query processor could not produce a query plan from the optimizer because the total length of all the columns in the GROUP 
    BY or ORDER BY clause exceeds 8000 bytes.
    
    Server: Msg 1750, Level 16, State 1, Line 3
    Could not create constraint. See previous errors.
    
    

    SQL Code

    CREATE TABLE [T_SPACEUSEAGREEMENT] (
    [spec_id] [numeric](20, 0) NOT NULL ,
    [Sys_projectid] [numeric](20, 0) NULL ,
    [Sys_objectstate] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_objectId] [numeric](20, 0) NULL ,
    [Sys_guiid] [numeric](20, 0) NULL ,
    [Sys_ReviewStatus] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_PriorState] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Security] [numeric](32, 12) NULL ,
    [ce_Security_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropertyTaxes] [numeric](32, 12) NULL ,
    [ce_PropertyTaxes_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Insurance] [numeric](32, 12) NULL ,
    [ce_Insurance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Electricity] [numeric](32, 12) NULL ,
    [ce_Electricity_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_UtilitiesBase] [numeric](32, 12) NULL ,
    [ce_UtilitiesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_SecurityBase] [numeric](32, 12) NULL ,
    [ce_SecurityBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Storage] [numeric](32, 12) NULL ,
    [ce_Storage_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_StorageBase] [numeric](32, 12) NULL ,
    [ce_StorageBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_RepairMaintenance] [numeric](32, 12) NULL ,
    [ce_RepairMaintenance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_RepairMaintenance2] [numeric](32, 12) NULL ,
    [ce_RepairMaintenance2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropertyTaxesBase] [numeric](32, 12) NULL ,
    [ce_PropertyTaxesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropServFee] [numeric](32, 12) NULL ,
    [ce_PropServFee_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropServFeeBase] [numeric](32, 12) NULL ,
    [ce_PropServFeeBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Parking] [numeric](32, 12) NULL ,
    [ce_Parking_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_ParkingBase] [numeric](32, 12) NULL ,
    [ce_ParkingBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_InsuranceBase] [numeric](32, 12) NULL ,
    [ce_InsuranceBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_ElectricityBase] [numeric](32, 12) NULL ,
    [ce_ElectricityBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_CAM] [numeric](32, 12) NULL ,
    [ce_CAM_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_CAMBase] [numeric](32, 12) NULL ,
    [ce_CAMBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Janitorial] [numeric](32, 12) NULL ,
    [ce_Janitorial_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_JanitorialBase] [numeric](32, 12) NULL ,
    [ce_JanitorialBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_OtherExp] [numeric](32, 12) NULL ,
    [ce_OtherExp_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_OtherExpBase] [numeric](32, 12) NULL ,
    [ce_OtherExpBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Security] [numeric](32, 12) NULL ,
    [le_Security_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_RepairMaintenance] [numeric](32, 12) NULL ,
    [le_RepairMaintenance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropServFee] [numeric](32, 12) NULL ,
    [le_PropServFee_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropertyTaxes] [numeric](32, 12) NULL ,
    [le_PropertyTaxes_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Parking] [numeric](32, 12) NULL ,
    [le_Parking_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_OtherExpenses] [numeric](32, 12) NULL ,
    [le_OtherExpenses_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Janitorial] [numeric](32, 12) NULL ,
    [le_Janitorial_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Insurance] [numeric](32, 12) NULL ,
    [le_Insurance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Electricity] [numeric](32, 12) NULL ,
    [le_Electricity_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Utilities] [numeric](32, 12) NULL ,
    [le_Utilities_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_CAM] [numeric](32, 12) NULL ,
    [le_CAM_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_Storage] [numeric](32, 12) NULL ,
    [le_Storage_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_UtilitiesBase] [numeric](32, 12) NULL ,
    [le_UtilitiesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_StorageBase] [numeric](32, 12) NULL ,
    [le_StorageBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_SecurityBase] [numeric](32, 12) NULL ,
    [le_SecurityBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_RepairMaintenance2] [numeric](32, 12) NULL ,
    [le_RepairMaintenance2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropertyTaxesBase] [numeric](32, 12) NULL ,
    [le_PropertyTaxesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropServFeeBase] [numeric](32, 12) NULL ,
    [le_PropServFeeBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_ParkingBase] [numeric](32, 12) NULL ,
    [le_ParkingBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_OtherExpensesBase] [numeric](32, 12) NULL ,
    [le_OtherExpensesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_JanitorialBase] [numeric](32, 12) NULL ,
    [le_JanitorialBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_InsuranceBase] [numeric](32, 12) NULL ,
    [le_InsuranceBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_ElectricityBase] [numeric](32, 12) NULL ,
    [le_ElectricityBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_CAMBase] [numeric](32, 12) NULL ,
    [le_CAMBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_UtilitiesEIR] [numeric](32, 12) NULL ,
    [le_UtilitiesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_StorageEIR] [numeric](32, 12) NULL ,
    [le_StorageEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_SecurityEIR] [numeric](32, 12) NULL ,
    [le_SecurityEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_RepairMaintEIR] [numeric](32, 12) NULL ,
    [le_RepairMaintEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropServFeeEIR] [numeric](32, 12) NULL ,
    [le_PropServFeeEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PropertyTaxesEIR] [numeric](32, 12) NULL ,
    [le_PropertyTaxesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_PassThrDate] [numeric](32, 0) NULL ,
    [le_ParkingEIR] [numeric](32, 12) NULL ,
    [le_ParkingEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_OtherExpensesEIR] [numeric](32, 12) NULL ,
    [le_OtherExpensesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_JanitorialEIR] [numeric](32, 12) NULL ,
    [le_JanitorialEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_InsuranceEIR] [numeric](32, 12) NULL ,
    [le_InsuranceEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_ElectricityEIR] [numeric](32, 12) NULL ,
    [le_ElectricityEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_CAMEIR] [numeric](32, 12) NULL ,
    [le_CAMEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_BasePassEscRate] [numeric](32, 12) NULL ,
    [le_BasePassEscRate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_BaseExpenseAmt] [numeric](32, 12) NULL ,
    [le_BaseExpenseAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [le_BaseExpenseAmtBase] [numeric](32, 12) NULL ,
    [le_BaseExpenseAmtBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_WorkStations] [numeric](32, 12) NULL ,
    [lt_WorkStations_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_TotalRentable] [numeric](32, 12) NULL ,
    [lt_TotalRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_TotalLeaseRentable] [numeric](32, 12) NULL ,
    [lt_TotalLeaseRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_TIAllowance] [numeric](32, 12) NULL ,
    [lt_TIAllowance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_ThirdEscalationDa] [numeric](32, 0) NULL ,
    [lt_ThirdEscalationAmt] [numeric](32, 12) NULL ,
    [lt_ThirdEscalationAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_SiteLocation] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_SecondEscalationD] [numeric](32, 0) NULL ,
    [lt_SecondEscalationA] [numeric](32, 12) NULL ,
    [lt_SecondEscalationA_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_ParkingSpaces] [numeric](32, 12) NULL ,
    [lt_ParkingSpaces_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_OwnershipTransfer] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_LeaseType] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_LeaseTypeObjId] [numeric](20, 0) NULL ,
    [lt_LeaseTerm] [numeric](32, 12) NULL ,
    [lt_LeaseTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_LeaseRentableOther] [numeric](32, 12) NULL ,
    [lt_LeaseRentableOther_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_LeaseRentable] [numeric](32, 12) NULL ,
    [lt_LeaseRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_Incentives] [numeric](32, 12) NULL ,
    [lt_Incentives_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_Headcount] [numeric](32, 12) NULL ,
    [lt_Headcount_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FourthEscalationD] [numeric](32, 0) NULL ,
    [lt_FourthEscalationA] [numeric](32, 12) NULL ,
    [lt_FourthEscalationA_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FirstEscalationDa] [numeric](32, 0) NULL ,
    [lt_FirstEscalationAmt] [numeric](32, 12) NULL ,
    [lt_FirstEscalationAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FifthEscalationDa] [numeric](32, 0) NULL ,
    [lt_FifthEscalationAmt] [numeric](32, 12) NULL ,
    [lt_FifthEscalationAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_ExpirationDate] [numeric](32, 0) NULL ,
    [lt_EstPropertyValue] [numeric](32, 12) NULL ,
    [lt_EstPropertyValue_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_Concessions] [numeric](32, 12) NULL ,
    [lt_Concessions_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_CommencementDate] [numeric](32, 0) NULL ,
    [lt_BrokerageCommissi] [numeric](32, 12) NULL ,
    [lt_BrokerageCommissi_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRentOther] [numeric](32, 12) NULL ,
    [lt_BaseRentOther_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRentBlend] [numeric](32, 12) NULL ,
    [lt_BaseRentBlend_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRent] [numeric](32, 12) NULL ,
    [lt_BaseRent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseAnnualEsc] [numeric](32, 12) NULL ,
    [lt_BaseAnnualEsc_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BargainPurchase] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_Writeoffs] [numeric](32, 12) NULL ,
    [br_Writeoffs_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_WiringRemoval] [numeric](32, 12) NULL ,
    [br_WiringRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_WiringBuildout] [numeric](32, 12) NULL ,
    [br_WiringBuildout_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TechnologyExp] [numeric](32, 12) NULL ,
    [br_TechnologyExp_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TechnologyCap] [numeric](32, 12) NULL ,
    [br_TechnologyCap_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_SignageRemoval] [numeric](32, 12) NULL ,
    [br_SignageRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_SatDishRemoval] [numeric](32, 12) NULL ,
    [br_SatDishRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_RelocationExpenses] [numeric](32, 12) NULL ,
    [br_RelocationExpenses_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_RelocationDate] [numeric](32, 0) NULL ,
    [br_ProfServiceFee] [numeric](32, 12) NULL ,
    [br_ProfServiceFee_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_OtherCosts] [numeric](32, 12) NULL ,
    [br_OtherCosts_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_MovingAllowance] [numeric](32, 12) NULL ,
    [br_MovingAllowance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_LeaseholdImprovem] [numeric](32, 12) NULL ,
    [br_LeaseholdImprovem_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_LandCost] [numeric](32, 12) NULL ,
    [br_LandCost_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_FFELiquidation] [numeric](32, 12) NULL ,
    [br_FFELiquidation_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_FFE] [numeric](32, 12) NULL ,
    [br_FFE_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_Cleanup] [numeric](32, 12) NULL ,
    [br_Cleanup_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_BuildoutDate] [numeric](32, 0) NULL ,
    [br_CleanupBase] [numeric](32, 12) NULL ,
    [br_CleanupBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_FFEBase] [numeric](32, 12) NULL ,
    [br_FFEBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_FFELiquidationBase] [numeric](32, 12) NULL ,
    [br_FFELiquidationBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_LandCostBase] [numeric](32, 12) NULL ,
    [br_LandCostBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_LeaseholdImprovem2] [numeric](32, 12) NULL ,
    [br_LeaseholdImprovem2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_MovingAllowanceBa] [numeric](32, 12) NULL ,
    [br_MovingAllowanceBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_OtherCostsBase] [numeric](32, 12) NULL ,
    [br_OtherCostsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_ProfServiceFeeBase] [numeric](32, 12) NULL ,
    [br_ProfServiceFeeBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRentBlendBase] [numeric](32, 12) NULL ,
    [lt_BaseRentBlendBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRentOtherBase] [numeric](32, 12) NULL ,
    [lt_BaseRentOtherBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_RelocationExpense] [numeric](32, 12) NULL ,
    [br_RelocationExpense_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_SatDishRemovalBase] [numeric](32, 12) NULL ,
    [br_SatDishRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_EstPropertyValueB] [numeric](32, 12) NULL ,
    [lt_EstPropertyValueB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_SignageRemovalBase] [numeric](32, 12) NULL ,
    [br_SignageRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TechnologyCapBase] [numeric](32, 12) NULL ,
    [br_TechnologyCapBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TechnologyExpBase] [numeric](32, 12) NULL ,
    [br_TechnologyExpBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_WiringBuildoutBase] [numeric](32, 12) NULL ,
    [br_WiringBuildoutBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_WiringRemovalBase] [numeric](32, 12) NULL ,
    [br_WiringRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_WriteoffsBase] [numeric](32, 12) NULL ,
    [br_WriteoffsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_BaseRentBase] [numeric](32, 12) NULL ,
    [lt_BaseRentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FifthEscalationAm] [numeric](32, 12) NULL ,
    [lt_FifthEscalationAm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FirstEscalationAm] [numeric](32, 12) NULL ,
    [lt_FirstEscalationAm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_FourthEscalationA2] [numeric](32, 12) NULL ,
    [lt_FourthEscalationA2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_IncentivesBase] [numeric](32, 12) NULL ,
    [lt_IncentivesBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_MasterLeaseRentab] [numeric](32, 12) NULL ,
    [lt_MasterLeaseRentab_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_ThirdEscalationAm] [numeric](32, 12) NULL ,
    [lt_ThirdEscalationAm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_TIAllowanceBase] [numeric](32, 12) NULL ,
    [lt_TIAllowanceBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_SecondEscalationA2] [numeric](32, 12) NULL ,
    [lt_SecondEscalationA2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_SubLeaseExpPassBa] [numeric](32, 12) NULL ,
    [lt_SubLeaseExpPassBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [lt_RentCommencementD] [numeric](32, 0) NULL ,
    [br_NetTICost] [numeric](32, 12) NULL ,
    [br_NetTICost_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_NetTICostBase] [numeric](32, 12) NULL ,
    [br_NetTICostBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_WiringDepTax] [numeric](32, 12) NULL ,
    [fp_WiringDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_WiringDepGAAP] [numeric](32, 12) NULL ,
    [fp_WiringDepGAAP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_TechnologyDepTax] [numeric](32, 12) NULL ,
    [fp_TechnologyDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_TechnologyDepGAAP] [numeric](32, 12) NULL ,
    [fp_TechnologyDepGAAP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_LeaseHoldImpDepTax] [numeric](32, 12) NULL ,
    [fp_LeaseHoldImpDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_LeaseHoldImpDepGA] [numeric](32, 12) NULL ,
    [fp_LeaseHoldImpDepGA_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_LastDayCFY] [numeric](32, 0) NULL ,
    [fp_FiscalYear] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_FirstDayCFY] [numeric](32, 0) NULL ,
    [fp_FFEDepTax] [numeric](32, 12) NULL ,
    [fp_FFEDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_FFEDepGAAP] [numeric](32, 12) NULL ,
    [fp_FFEDepGAAP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_DilepDepGAAP] [numeric](32, 12) NULL ,
    [fp_DilepDepGAAP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_DilapDepTax] [numeric](32, 12) NULL ,
    [fp_DilapDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_CorporateTaxRate] [numeric](32, 12) NULL ,
    [fp_CorporateTaxRate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_BuildingsDepTax] [numeric](32, 12) NULL ,
    [fp_BuildingsDepTax_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_BuildingsDepGAAP] [numeric](32, 12) NULL ,
    [fp_BuildingsDepGAAP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_BUDiscountRate] [numeric](32, 12) NULL ,
    [fp_BUDiscountRate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fp_AnalysisDate] [numeric](32, 0) NULL ,
    [ct_FirstEscalationDa] [numeric](32, 0) NULL ,
    [ct_FirstEscalationAmt] [numeric](32, 12) NULL ,
    [ct_FirstEscalationAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_FirstEscalationAm] [numeric](32, 12) NULL ,
    [ct_FirstEscalationAm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_BaseExpenseAmt] [numeric](32, 12) NULL ,
    [ce_BaseExpenseAmt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_BaseExpenseAmtBase] [numeric](32, 12) NULL ,
    [ce_BaseExpenseAmtBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_ElectricityEIR] [numeric](32, 12) NULL ,
    [ce_ElectricityEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_UtilitiesEIR] [numeric](32, 12) NULL ,
    [ce_UtilitiesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_JanitorialEIR] [numeric](32, 12) NULL ,
    [ce_JanitorialEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_RepairMaintEIR] [numeric](32, 12) NULL ,
    [ce_RepairMaintEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_CAMEIR] [numeric](32, 12) NULL ,
    [ce_CAMEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_SecurityEIR] [numeric](32, 12) NULL ,
    [ce_SecurityEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_InsuranceEIR] [numeric](32, 12) NULL ,
    [ce_InsuranceEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropertyTaxesEIR] [numeric](32, 12) NULL ,
    [ce_PropertyTaxesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_ParkingEIR] [numeric](32, 12) NULL ,
    [ce_ParkingEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_StorageEIR] [numeric](32, 12) NULL ,
    [ce_StorageEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_OtherExpensesEIR] [numeric](32, 12) NULL ,
    [ce_OtherExpensesEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_PropServFeeEIR] [numeric](32, 12) NULL ,
    [ce_PropServFeeEIR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_SiteLocation] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_TotalRentable] [numeric](32, 12) NULL ,
    [ct_TotalRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_WorkStations] [numeric](32, 12) NULL ,
    [ct_WorkStations_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_ParkingSpaces] [numeric](32, 12) NULL ,
    [ct_ParkingSpaces_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_Headcount] [numeric](32, 12) NULL ,
    [ct_Headcount_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_LeaseRentable] [numeric](32, 12) NULL ,
    [ct_LeaseRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_LeaseRentableOther] [numeric](32, 12) NULL ,
    [ct_LeaseRentableOther_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRentBlend] [numeric](32, 12) NULL ,
    [ct_BaseRentBlend_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRentBlendBase] [numeric](32, 12) NULL ,
    [ct_BaseRentBlendBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRent] [numeric](32, 12) NULL ,
    [ct_BaseRent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRentBase] [numeric](32, 12) NULL ,
    [ct_BaseRentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRentOther] [numeric](32, 12) NULL ,
    [ct_BaseRentOther_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseRentOtherBase] [numeric](32, 12) NULL ,
    [ct_BaseRentOtherBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_BaseAnnualEsc] [numeric](32, 12) NULL ,
    [ct_BaseAnnualEsc_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_SignageRemoval] [numeric](32, 12) NULL ,
    [cr_SignageRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_SignageRemovalBase] [numeric](32, 12) NULL ,
    [cr_SignageRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_WiringRemoval] [numeric](32, 12) NULL ,
    [cr_WiringRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_WiringRemovalBase] [numeric](32, 12) NULL ,
    [cr_WiringRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_Cleanup] [numeric](32, 12) NULL ,
    [cr_Cleanup_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_CleanupBase] [numeric](32, 12) NULL ,
    [cr_CleanupBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_SatDishRemoval] [numeric](32, 12) NULL ,
    [cr_SatDishRemoval_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_SatDishRemovalBase] [numeric](32, 12) NULL ,
    [cr_SatDishRemovalBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_OtherCosts] [numeric](32, 12) NULL ,
    [cr_OtherCosts_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [cr_OtherCostsBase] [numeric](32, 12) NULL ,
    [cr_OtherCostsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_TotalLeaseRentable] [numeric](32, 12) NULL ,
    [ct_TotalLeaseRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ct_TotalLeaseRentabl] [numeric](32, 12) NULL ,
    [ct_TotalLeaseRentabl_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TIAllowance] [numeric](32, 12) NULL ,
    [br_TIAllowance_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_TIAllowanceBase] [numeric](32, 12) NULL ,
    [br_TIAllowanceBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalPreTaxNPV] [numeric](32, 12) NULL ,
    [fa_TotalPreTaxNPV_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalCosts] [numeric](32, 12) NULL ,
    [fa_TotalCosts_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalCommitment] [numeric](32, 12) NULL ,
    [fa_TotalCommitment_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TierSavings] [numeric](32, 12) NULL ,
    [fa_TierSavings_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TierSavingsFirst] [numeric](32, 12) NULL ,
    [fa_TierSavingsFirst_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TaxAdjustments] [numeric](32, 12) NULL ,
    [fa_TaxAdjustments_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_SecondFullYear] [numeric](32, 12) NULL ,
    [fa_SecondFullYear_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_ProposedSpaceComm] [numeric](32, 12) NULL ,
    [fa_ProposedSpaceComm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_PreTaxCashFlow] [numeric](32, 12) NULL ,
    [fa_PreTaxCashFlow_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_IncomeRecovery] [numeric](32, 12) NULL ,
    [fa_IncomeRecovery_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_FirstFullYear] [numeric](32, 12) NULL ,
    [fa_FirstFullYear_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CYPreTaxCashFlow] [numeric](32, 12) NULL ,
    [fa_CYPreTaxCashFlow_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CYImpact] [numeric](32, 12) NULL ,
    [fa_CYImpact_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CurrentSpaceCommi] [numeric](32, 12) NULL ,
    [fa_CurrentSpaceCommi_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_BusDiscountRate] [numeric](32, 12) NULL ,
    [fa_BusDiscountRate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_AfterTaxCashFlow] [numeric](32, 12) NULL ,
    [fa_AfterTaxCashFlow_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_AfterTaxCashFlowB] [numeric](32, 12) NULL ,
    [fa_AfterTaxCashFlowB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_BusDiscountRateBa] [numeric](32, 12) NULL ,
    [fa_BusDiscountRateBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CYImpactBase] [numeric](32, 12) NULL ,
    [fa_CYImpactBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CYPreTaxCashFlowB] [numeric](32, 12) NULL ,
    [fa_CYPreTaxCashFlowB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_CurrentSpaceCommi2] [numeric](32, 12) NULL ,
    [fa_CurrentSpaceCommi2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_FirstFullYearBase] [numeric](32, 12) NULL ,
    [fa_FirstFullYearBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_IncomeRecoveryBase] [numeric](32, 12) NULL ,
    [fa_IncomeRecoveryBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_PreTaxCashFlowBase] [numeric](32, 12) NULL ,
    [fa_PreTaxCashFlowBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_ProposedSpaceComm2] [numeric](32, 12) NULL ,
    [fa_ProposedSpaceComm2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TierSavingsFirst2] [numeric](32, 12) NULL ,
    [fa_TierSavingsFirst2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TierSavingsBase] [numeric](32, 12) NULL ,
    [fa_TierSavingsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalCommitmentBa] [numeric](32, 12) NULL ,
    [fa_TotalCommitmentBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalCostsBase] [numeric](32, 12) NULL ,
    [fa_TotalCostsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TotalPreTaxNPVBase] [numeric](32, 12) NULL ,
    [fa_TotalPreTaxNPVBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_SecondFullYearBase] [numeric](32, 12) NULL ,
    [fa_SecondFullYearBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [fa_TaxAdjustmentsBase] [numeric](32, 12) NULL ,
    [fa_TaxAdjustmentsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_OtherExitCosts] [numeric](32, 12) NULL ,
    [br_OtherExitCosts_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_OtherExitCostsBase] [numeric](32, 12) NULL ,
    [br_OtherExitCostsBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentCurrent] [numeric](32, 12) NULL ,
    [ca_RentCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentCurrentBase] [numeric](32, 12) NULL ,
    [ca_RentCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentProposed] [numeric](32, 12) NULL ,
    [ca_RentProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentProposedBase] [numeric](32, 12) NULL ,
    [ca_RentProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentProposedTerm] [numeric](32, 12) NULL ,
    [ca_RentProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentProposedTermB] [numeric](32, 12) NULL ,
    [ca_RentProposedTermB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentAveTerm] [numeric](32, 12) NULL ,
    [ca_RentAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentAveTermBase] [numeric](32, 12) NULL ,
    [ca_RentAveTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentVARProposed] [numeric](32, 12) NULL ,
    [ca_RentVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentVARProposedBa] [numeric](32, 12) NULL ,
    [ca_RentVARProposedBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentVARTerm] [numeric](32, 12) NULL ,
    [ca_RentVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_RentVARTermBase] [numeric](32, 12) NULL ,
    [ca_RentVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseCurrent] [numeric](32, 12) NULL ,
    [ca_ExpenseCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseCurrentBase] [numeric](32, 12) NULL ,
    [ca_ExpenseCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseProposed] [numeric](32, 12) NULL ,
    [ca_ExpenseProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseProposedBa] [numeric](32, 12) NULL ,
    [ca_ExpenseProposedBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseProposedTe] [numeric](32, 12) NULL ,
    [ca_ExpenseProposedTe_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseProposedTe2] [numeric](32, 12) NULL ,
    [ca_ExpenseProposedTe2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseAverageTerm] [numeric](32, 12) NULL ,
    [ca_ExpenseAverageTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseAverageTer] [numeric](32, 12) NULL ,
    [ca_ExpenseAverageTer_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseVARProposal] [numeric](32, 12) NULL ,
    [ca_ExpenseVARProposal_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseVARProposa] [numeric](32, 12) NULL ,
    [ca_ExpenseVARProposa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseVARTerm] [numeric](32, 12) NULL ,
    [ca_ExpenseVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_ExpenseVARTermBase] [numeric](32, 12) NULL ,
    [ca_ExpenseVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotRECurrent] [numeric](32, 12) NULL ,
    [ca_TotRECurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotRECurrentBase] [numeric](32, 12) NULL ,
    [ca_TotRECurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREProposed] [numeric](32, 12) NULL ,
    [ca_TotREProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREProposedBase] [numeric](32, 12) NULL ,
    [ca_TotREProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREProposedTerms] [numeric](32, 12) NULL ,
    [ca_TotREProposedTerms_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREProposedTerm] [numeric](32, 12) NULL ,
    [ca_TotREProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREAveTerm] [numeric](32, 12) NULL ,
    [ca_TotREAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREAveTermBase] [numeric](32, 12) NULL ,
    [ca_TotREAveTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREVARProposed] [numeric](32, 12) NULL ,
    [ca_TotREVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREVARProposedB] [numeric](32, 12) NULL ,
    [ca_TotREVARProposedB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREVARTerm] [numeric](32, 12) NULL ,
    [ca_TotREVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotREVARTermBase] [numeric](32, 12) NULL ,
    [ca_TotREVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommCurrent] [numeric](32, 12) NULL ,
    [ca_CommCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommCurrentBase] [numeric](32, 12) NULL ,
    [ca_CommCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommProposed] [numeric](32, 12) NULL ,
    [ca_CommProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommProposedBase] [numeric](32, 12) NULL ,
    [ca_CommProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommProposedTerm] [numeric](32, 12) NULL ,
    [ca_CommProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommProposedTermB] [numeric](32, 12) NULL ,
    [ca_CommProposedTermB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommAveTerm] [numeric](32, 12) NULL ,
    [ca_CommAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommAveTermBase] [numeric](32, 12) NULL ,
    [ca_CommAveTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommVARProposed] [numeric](32, 12) NULL ,
    [ca_CommVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommVARProposedBa] [numeric](32, 12) NULL ,
    [ca_CommVARProposedBa_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommVARTerm] [numeric](32, 12) NULL ,
    [ca_CommVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_CommVARTermBase] [numeric](32, 12) NULL ,
    [ca_CommVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRCurrent] [numeric](32, 12) NULL ,
    [ca_BRCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRCurrentBase] [numeric](32, 12) NULL ,
    [ca_BRCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRProposed] [numeric](32, 12) NULL ,
    [ca_BRProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRProposedBase] [numeric](32, 12) NULL ,
    [ca_BRProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRProposedTerm] [numeric](32, 12) NULL ,
    [ca_BRProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRProposedTermBase] [numeric](32, 12) NULL ,
    [ca_BRProposedTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRAveTerm] [numeric](32, 12) NULL ,
    [ca_BRAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRAveTermBase] [numeric](32, 12) NULL ,
    [ca_BRAveTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRVARProposed] [numeric](32, 12) NULL ,
    [ca_BRVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRVARProposedBase] [numeric](32, 12) NULL ,
    [ca_BRVARProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRVarTerm] [numeric](32, 12) NULL ,
    [ca_BRVarTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_BRVarTermBase] [numeric](32, 12) NULL ,
    [ca_BRVarTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapCurrent] [numeric](32, 12) NULL ,
    [ca_DilapCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapCurrentBase] [numeric](32, 12) NULL ,
    [ca_DilapCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapProposed] [numeric](32, 12) NULL ,
    [ca_DilapProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapProposedBase] [numeric](32, 12) NULL ,
    [ca_DilapProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapProposedTerm] [numeric](32, 12) NULL ,
    [ca_DilapProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_DilapProposedTerm2] [numeric](32, 12) NULL ,
    [ca_DilapProposedTerm2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapaveterm] [numeric](32, 12) NULL ,
    [ca_dilapaveterm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapavetermBase] [numeric](32, 12) NULL ,
    [ca_dilapavetermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapVARProposed] [numeric](32, 12) NULL ,
    [ca_dilapVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapVARProposedB] [numeric](32, 12) NULL ,
    [ca_dilapVARProposedB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapVARTerm] [numeric](32, 12) NULL ,
    [ca_dilapVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_dilapVARTermBase] [numeric](32, 12) NULL ,
    [ca_dilapVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTCurrent] [numeric](32, 12) NULL ,
    [ca_TotOTCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTCurrentBase] [numeric](32, 12) NULL ,
    [ca_TotOTCurrentBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTProposed] [numeric](32, 12) NULL ,
    [ca_TotOTProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTProposedBase] [numeric](32, 12) NULL ,
    [ca_TotOTProposedBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTProposedTerm] [numeric](32, 12) NULL ,
    [ca_TotOTProposedTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTProposedTerm2] [numeric](32, 12) NULL ,
    [ca_TotOTProposedTerm2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTAveTerm] [numeric](32, 12) NULL ,
    [ca_TotOTAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTAveTermBase] [numeric](32, 12) NULL ,
    [ca_TotOTAveTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTVARProposed] [numeric](32, 12) NULL ,
    [ca_TotOTVARProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTVARProposedB] [numeric](32, 12) NULL ,
    [ca_TotOTVARProposedB_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTVARTerm] [numeric](32, 12) NULL ,
    [ca_TotOTVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotOTVARTermBase] [numeric](32, 12) NULL ,
    [ca_TotOTVARTermBase_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFCurrent] [numeric](32, 12) NULL ,
    [ca_TotTransCFCurrent_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFCurrent2] [numeric](32, 12) NULL ,
    [ca_TotTransCFCurrent2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFProposed] [numeric](32, 12) NULL ,
    [ca_TotTransCFProposed_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFPropose] [numeric](32, 12) NULL ,
    [ca_TotTransCFPropose_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFPropose2] [numeric](32, 12) NULL ,
    [ca_TotTransCFPropose2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFPropose3] [numeric](32, 12) NULL ,
    [ca_TotTransCFPropose3_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFAveTerm] [numeric](32, 12) NULL ,
    [ca_TotTransCFAveTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFAveTerm2] [numeric](32, 12) NULL ,
    [ca_TotTransCFAveTerm2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFVARProp] [numeric](32, 12) NULL ,
    [ca_TotTransCFVARProp_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFVARProp2] [numeric](32, 12) NULL ,
    [ca_TotTransCFVARProp2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFVARTerm] [numeric](32, 12) NULL ,
    [ca_TotTransCFVARTerm_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_TotTransCFVARTerm2] [numeric](32, 12) NULL ,
    [ca_TotTransCFVARTerm2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPPerPersonCurre] [numeric](32, 12) NULL ,
    [ca_REPPerPersonCurre_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonPropos] [numeric](32, 12) NULL ,
    [ca_REPerPersonPropos_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonPropos2] [numeric](32, 12) NULL ,
    [ca_REPerPersonPropos2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonAveTer] [numeric](32, 12) NULL ,
    [ca_REPerPersonAveTer_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonVARPro] [numeric](32, 12) NULL ,
    [ca_REPerPersonVARPro_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonVARTer] [numeric](32, 12) NULL ,
    [ca_REPerPersonVARTer_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceCur] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceCur_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpacePro] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpacePro_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPPerPersonCurre2] [numeric](32, 12) NULL ,
    [ca_REPPerPersonCurre2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonAveTer2] [numeric](32, 12) NULL ,
    [ca_REPerPersonAveTer2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonPropos3] [numeric](32, 12) NULL ,
    [ca_REPerPersonPropos3_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonPropos4] [numeric](32, 12) NULL ,
    [ca_REPerPersonPropos4_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonVARPro2] [numeric](32, 12) NULL ,
    [ca_REPerPersonVARPro2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerPersonVARTer2] [numeric](32, 12) NULL ,
    [ca_REPerPersonVARTer2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceCur2] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceCur2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpacePro2] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpacePro2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpacePro3] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpacePro3_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpacePro4] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpacePro4_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceAve] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceAve_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceAve2] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceAve2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceVAR] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceVAR_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceVAR2] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceVAR2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceVAR3] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceVAR3_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_REPerUnitSpaceVAR4] [numeric](32, 12) NULL ,
    [ca_REPerUnitSpaceVAR4_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonCurr] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonCurr_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonProp] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonProp_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonProp2] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonProp2_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonAveT] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonAveT_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonVARP] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonVARP_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_AreaPerPersonVarT] [numeric](32, 12) NULL ,
    [ca_AreaPerPersonVarT_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SUANotifDur] [numeric](32, 0) NULL ,
    [SUANotifDate] [numeric](32, 0) NULL ,
    [BillingType] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [OnPremise] [varchar] (5) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CustomerNumber] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ClientSequenceNo] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostCenterOrg] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostCenterOrgObjId] [numeric](20, 0) NULL ,
    [CostCenterLoc] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostCenterLocObjId] [numeric](20, 0) NULL ,
    [HeadcountEst] [numeric](32, 12) NULL ,
    [HeadcountEst_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SUARentable] [numeric](32, 12) NULL ,
    [SUARentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractRentable] [numeric](32, 12) NULL ,
    [ContractRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractPct] [numeric](32, 12) NULL ,
    [ContractPct_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Percent1] [numeric](32, 12) NULL ,
    [Percent1_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SpaceUnassigned] [numeric](32, 12) NULL ,
    [SpaceUnassigned_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CreatedVia] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_HeadCountInt] [numeric](32, 12) NULL ,
    [ca_HeadCountInt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_HeadcountExt] [numeric](32, 12) NULL ,
    [ca_HeadcountExt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_HeadcountTotal] [numeric](32, 12) NULL ,
    [ca_HeadcountTotal_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_SUARentable] [numeric](32, 12) NULL ,
    [ca_SUARentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ca_SUACommenceDate] [numeric](32, 0) NULL ,
    [ca_SUAExpireDate] [numeric](32, 0) NULL ,
    [PremiseStatus] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [AmendmentDate] [numeric](32, 0) NULL ,
    [AmendmentDesc] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [br_LeaseholdTreatment] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Notif_ApprovalReques] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Notif_ApprovalReques2] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Notif_ApprovalComple] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Notif_ApprovalComple2] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [BOTypeName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ADNNo] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SystemCreatedDateTime] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SysModifiedDateTime] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [RecordName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractType] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_Type1] [numeric](20, 0) NULL ,
    [Sys_Parent1] [numeric](20, 0) NULL ,
    [Sys_LocationName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_LocationNameObjId] [numeric](20, 0) NULL ,
    [Sys_OrgName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_OrgNameObjId] [numeric](20, 0) NULL ,
    [Sys_GeographyName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Sys_GeographyNameObjId] [numeric](20, 0) NULL ,
    [Value1] [numeric](32, 12) NULL ,
    [Value1_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ShortName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Status] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractType2] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractType2ObjId] [numeric](20, 0) NULL ,
    [ContractName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractId] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ContractFullName] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Picture] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Description] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [StartDate] [numeric](32, 0) NULL ,
    [ExpirationDate] [numeric](32, 0) NULL ,
    [ContractBOType] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ControlNumber] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ReferenceNumber] [varchar] (1000) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [Date1] [numeric](32, 0) NULL ,
    [SignedDate] [numeric](32, 0) NULL ,
    [MoveInDate] [numeric](32, 0) NULL ,
    [VacateDate] [numeric](32, 0) NULL ,
    [TotalOccSpace] [numeric](32, 12) NULL ,
    [TotalOccSpace_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [HeadcountInt] [numeric](32, 12) NULL ,
    [HeadcountInt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [HeadcountExt] [numeric](32, 12) NULL ,
    [HeadcountExt_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [HeadcountCalculate] [numeric](32, 12) NULL ,
    [HeadcountCalculate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [TotalSpend] [numeric](32, 12) NULL ,
    [TotalSpend_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostPerSeat] [numeric](32, 12) NULL ,
    [CostPerSeat_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostPerPerson] [numeric](32, 12) NULL ,
    [CostPerPerson_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [CostPerArea] [numeric](32, 12) NULL ,
    [CostPerArea_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [AreaPerPerson] [numeric](32, 12) NULL ,
    [AreaPerPerson_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [VacancyRate] [numeric](32, 12) NULL ,
    [VacancyRate_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SeatPerPerson] [numeric](32, 12) NULL ,
    [SeatPerPerson_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [SeatOccPct] [numeric](32, 12) NULL ,
    [SeatOccPct_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [VacancyCost] [numeric](32, 12) NULL ,
    [VacancyCost_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [TotalVacant] [numeric](32, 12) NULL ,
    [TotalVacant_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [TotalRentable] [numeric](32, 12) NULL ,
    [TotalRentable_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [TotalSeats] [numeric](32, 12) NULL ,
    [TotalSeats_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [ce_Utilities] [numeric](32, 12) NULL ,
    [ce_Utilities_UOM] [varchar] (100) COLLATE SQL_Latin1_General_CP1_CS_AS NULL ,
    [HasSysKey] [numeric](20, 0) NULL ,
    [AssociatedToSysKey] [numeric](20, 0) NULL ,
    [SUAHostFinanceSysKey] [numeric](20, 0) NULL ,
    [RecordedSysKey] [numeric](20, 0) NULL ,
    [SUAContactSysKey] [numeric](20, 0) NULL ,
    [IsParentOfSysKey] [numeric](20, 0) NULL ,
    [AssignedToSysKey] [numeric](20, 0) NULL ,
    [AssociatedToSysKey2] [numeric](20, 0) NULL ,
    [HOSTSUACONTACTSYSKEY] [numeric](20, 0) NULL ,
    [ASSOCIATEDTOSYSKEY3] [numeric](20, 0) NULL ,
    [ASSOCIATEDTOSYSKEY4] [numeric](20, 0) NULL ,
    [PORTFOLIOMANAGERSYSKEY] [numeric](20, 0) NULL ,
    [SUAOCCUPYINGFINANCESYSKEY] [numeric](20, 0) NULL ,
    [ASSOCIATEDTOSYSKEY5] [numeric](20, 0) NULL 
    ) ON [PRIMARY]
    GO
    
    ALTER TABLE [T_SPACEUSEAGREEMENT] WITH NOCHECK ADD 
     PRIMARY KEY  CLUSTERED 
    (
    [spec_id]
    )  ON [PRIMARY] 
    GO
    
  • For this to appear as anything other than a joke you are going to have to explain yourself as to why you would do such a thing.  There has to be over 700 columns here, and the maximum rowsize (total) is 8060 bytes.  You can do the math... but more importantly than the math, can your read the error messages?  Why would you do this as anything other than a joke, or example of things not to do?  what would you possibly use this for?  Are you the data architect?  <geez><groan>


    Cheers,

    david russell

  • the tables are dynamically generated based on user actions, and as of now it is not possible to change that. the problem i am having is pretty specific, and thus i was looking for a pretty specific answer as well - the db does what I want when the constraint is inline in the column definition, but not when I do an alter table subsequently - I would just appreciate help understanding what the difference is. thanks for the help.

    ilya

  • Echoing David's post, this is an atrocious design. I reckon it would be pretty safe to say that the architect of this table has no idea about basic database design principles.

    As a DBA, given this sort of table design I would basically throw it back to the architects/developer, regardless of the cost to re-write/re-engineer. The ongoing maintenance and support of this table would be horrific to consider.

    If it's not possible, or you're unwilling to change it. Do you mind letting us know which company you're working for. I'm sure I wouldn't be alone in wanting to stay far, far away from anything your company produces.

    The specific answer that you're looking for is in the error message, and most probably in the documentation as well. 

    "Server: Msg 8618, Level 16, State 2, Line 1

    Warning: The query processor could not produce a query plan from the optimizer because the total length of all the columns in the GROUP BY or ORDER BY clause exceeds 8000 bytes."

     

    --------------------
    Colt 45 - the original point and click interface

  • Thanks for the design comments, guys. I will pass them on to our DB group. As far as anyone else willing to help on this, please let me know if you've encountered the particular problem I am talking about (inline constraints vs. not), and can shed some light on the issue. Unfortunately the behavior does not seem to be clearly connected to the error message, at least not in my newbie mind.

  • I recommend learning about good database design before doing any more creating or modifying on your server.

    Books online (BOL) has some introductory information. Press F1 in Enterprise Manager or Query Analyzer, then type "normalization" in the index text box, then press enter twice.

    There are also many books available to help get you started.

  • The behaviour you are witnessing is connected to the error messages you're getting. You have a table where the size greatly exceeds the maximum size and subsequently altering that table you get errors. Exactly what the message is warning you about.

    At this point I wouldn't waste time trying to work-around the problem, fix the table design issue first and you won't have a problem.

     

    --------------------
    Colt 45 - the original point and click interface

  • Actually, please reverse Phill Carter comment:

    "Do you mind letting us know which company you're working for. I'm sure I wouldn't be alone in wanting to stay far, far away from anything your company produces."

    Please do post the company name, as this mess will need to be fixed and would be a fat consulting contract.

    SQL = Scarcely Qualifies as a Language

  • thanks a lot guys - i'll forward the comments to our db guy, though you'll definitely hurt his feelings. i'm alright with that though. thanks for the link - i will look at the docs.

  • I think that you've already found the "workaround".  Just use a nonclustered PK, or create the clustered PK inline.

     

  • I agree that someone needs to have database normalization explained to them (loudly and at length), but I'll take a shot at answering your question. 

    If you define the constraint when creating the table, nothing more has to be done.  It will use the constraint when inserting rows after creation.

    If you use ALTER TABLE to add a nonclustered key to the table, it just needs to create an index for the key column.  There is only one field in the key, so there is no size issue.  The data rows are not modified.

    But If you use ALTER TABLE to add a clustered key the rows in the table have to be reordered, in spite of the WITH NOCHECK clause.  This extra action is causing the query plan with ORDER BY clause that is choking on this definition.

Viewing 11 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic. Login to reply