Unexpected error
DaveS
Posts: 6
Hello,
I'm getting this error when I run a compare against a database and a scripts folder:
Unexpected error: Value was either too large or too small for an Int32.
Value was either too large or too small for an Int32.
System.OverflowException
at RedGate.SQLCompare.CommandLine.CommandProcessor.d()
at RedGate.SQLCompare.CommandLine.CommandProcessor.e()
at RedGate.SQLCompare.CommandLine.CommandProcessor.Run()
at RedGate.SQLCompare.CommandLine.Startup.a(String[] )
The error is occurring against a partition function script:
pfn__pfLargeID.sql
/*=============================================================
SCRIPT HEADER
VERSION: 1.01.0001
DATE: 07-07-2008 11:46:09
SERVER: test
DATABASE: test
Partition Function: pfLargeID
=============================================================*/
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_WARNINGS ON
SET NOCOUNT ON
SET XACT_ABORT ON
GO
-- BEGINNING TRANSACTION STRUCTURE
PRINT 'Beginning transaction STRUCTURE'
BEGIN TRANSACTION _STRUCTURE_
GO
-- Create Partition Function pfLargeID
Print 'Create Partition Function pfLargeID'
GO
CREATE PARTITION FUNCTION [pfLargeID] (bigint)
AS RANGE RIGHT
FOR VALUES (25000000, 50000000, 75000000, 100000000, 125000000, 150000000, 175000000, 200000000, 225000000, 250000000, 275000000, 300000000, 325000000, 350000000, 375000000, 400000000, 425000000, 450000000, 475000000, 500000000, 525000000, 550000000, 575000000, 600000000, 625000000, 650000000, 675000000, 700000000, 725000000, 750000000, 775000000, 800000000, 825000000, 850000000, 875000000, 900000000, 925000000, 950000000, 975000000, 1000000000, 1025000000, 1050000000, 1075000000, 1100000000, 1125000000, 1150000000, 1175000000, 1200000000, 1225000000, 1250000000, 1275000000, 1300000000, 1325000000, 1350000000, 1375000000, 1400000000, 1425000000, 1450000000, 1475000000, 1500000000, 1525000000, 1550000000, 1575000000, 1600000000, 1625000000, 1650000000, 1675000000, 1700000000, 1725000000, 1750000000, 1775000000, 1800000000, 1825000000, 1850000000, 1875000000, 1900000000, 1925000000, 1950000000, 1975000000, 2000000000, 2025000000, 2050000000, 2075000000, 2100000000, 2125000000, 2150000000, 2175000000, 2200000000, 2225000000, 2250000000, 2275000000, 2300000000, 2325000000, 2350000000, 2375000000, 2400000000, 2425000000, 2450000000, 2475000000, 2500000000)
GO
@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO
-- COMMITTING TRANSACTION STRUCTURE
PRINT 'Committing transaction STRUCTURE'
@TRANCOUNT>0
COMMIT TRANSACTION _STRUCTURE_
GO
SET NOEXEC OFF
GO
Is there a way around this error? Ignoring partition functions doesn't help.
I'm getting this error when I run a compare against a database and a scripts folder:
Unexpected error: Value was either too large or too small for an Int32.
Value was either too large or too small for an Int32.
System.OverflowException
at RedGate.SQLCompare.CommandLine.CommandProcessor.d()
at RedGate.SQLCompare.CommandLine.CommandProcessor.e()
at RedGate.SQLCompare.CommandLine.CommandProcessor.Run()
at RedGate.SQLCompare.CommandLine.Startup.a(String[] )
The error is occurring against a partition function script:
pfn__pfLargeID.sql
/*=============================================================
SCRIPT HEADER
VERSION: 1.01.0001
DATE: 07-07-2008 11:46:09
SERVER: test
DATABASE: test
Partition Function: pfLargeID
=============================================================*/
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_WARNINGS ON
SET NOCOUNT ON
SET XACT_ABORT ON
GO
-- BEGINNING TRANSACTION STRUCTURE
PRINT 'Beginning transaction STRUCTURE'
BEGIN TRANSACTION _STRUCTURE_
GO
-- Create Partition Function pfLargeID
Print 'Create Partition Function pfLargeID'
GO
CREATE PARTITION FUNCTION [pfLargeID] (bigint)
AS RANGE RIGHT
FOR VALUES (25000000, 50000000, 75000000, 100000000, 125000000, 150000000, 175000000, 200000000, 225000000, 250000000, 275000000, 300000000, 325000000, 350000000, 375000000, 400000000, 425000000, 450000000, 475000000, 500000000, 525000000, 550000000, 575000000, 600000000, 625000000, 650000000, 675000000, 700000000, 725000000, 750000000, 775000000, 800000000, 825000000, 850000000, 875000000, 900000000, 925000000, 950000000, 975000000, 1000000000, 1025000000, 1050000000, 1075000000, 1100000000, 1125000000, 1150000000, 1175000000, 1200000000, 1225000000, 1250000000, 1275000000, 1300000000, 1325000000, 1350000000, 1375000000, 1400000000, 1425000000, 1450000000, 1475000000, 1500000000, 1525000000, 1550000000, 1575000000, 1600000000, 1625000000, 1650000000, 1675000000, 1700000000, 1725000000, 1750000000, 1775000000, 1800000000, 1825000000, 1850000000, 1875000000, 1900000000, 1925000000, 1950000000, 1975000000, 2000000000, 2025000000, 2050000000, 2075000000, 2100000000, 2125000000, 2150000000, 2175000000, 2200000000, 2225000000, 2250000000, 2275000000, 2300000000, 2325000000, 2350000000, 2375000000, 2400000000, 2425000000, 2450000000, 2475000000, 2500000000)
GO
@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
GO
-- COMMITTING TRANSACTION STRUCTURE
PRINT 'Committing transaction STRUCTURE'
@TRANCOUNT>0
COMMIT TRANSACTION _STRUCTURE_
GO
SET NOEXEC OFF
GO
Is there a way around this error? Ignoring partition functions doesn't help.
Comments
It looks like the problem is indeed a bug with SQL Compare. Development have identified the issue, but have also noted that it is going to be quite hard to fix. At this stage it is planned to be fixed for the next point release of SQL Compare 7.
For your reference the bug tracking number is SC-3953. I have added a watch to the issue, so I will keep you updated with any developments.