SQL Compare Error when users exceed 32768
grantph
Posts: 7
I'm receiving an "Arithmetic overflow error for data type smallint, value = 32768" during the Registering Databases - Reading Permissions process on a large database.
Our database recently exceeded 32768 users (plus logins) which leads me to believe that SQL Compare is working on SQL Server 2000 principles of max 32767 users. My understanding is that this limitation was removed in SQL Server 2005 onward.
This error occurs in both SQL Compare 7.1 and 8.1
As a side note, SQL Compare 7.1 was running extraordinarily slow prior to this error when Mapping Users between databases which leads me to believe that the problems are related. (eg. with 30,000 users mapping could take 30 minutes on a fast CPU).
Can anyone confirm that this either a bug or limitation in SQL Compare 8?
I'm happy to provide further diagnostics if someone can provide info on how to enable them on SQL Compare 7 or 8.
Regards,
Grant P Henderson
Our database recently exceeded 32768 users (plus logins) which leads me to believe that SQL Compare is working on SQL Server 2000 principles of max 32767 users. My understanding is that this limitation was removed in SQL Server 2005 onward.
This error occurs in both SQL Compare 7.1 and 8.1
As a side note, SQL Compare 7.1 was running extraordinarily slow prior to this error when Mapping Users between databases which leads me to believe that the problems are related. (eg. with 30,000 users mapping could take 30 minutes on a fast CPU).
Can anyone confirm that this either a bug or limitation in SQL Compare 8?
I'm happy to provide further diagnostics if someone can provide info on how to enable them on SQL Compare 7 or 8.
Regards,
Grant P Henderson
Comments
08:09:23.135|Info |SQL Compare Engine |7 |Populate Event Notifications start.
08:09:23.135|Info |SQL Compare Engine |7 |Populate DDL Triggers start.
08:09:23.135|Info |SQL Compare Engine |7 |Populate XML Schema Collections start.
08:09:23.135|Info |SQL Compare Engine |7 |Populate Certs start.
08:09:23.151|Info |SQL Compare Engine |7 |Populate SKeys start.
08:09:23.151|Info |SQL Compare Engine |7 |Populate AKeys start.
08:09:23.151|Info |SQL Compare Engine |7 |Populate Extended Properties start.
08:09:23.182|Info |SQL Compare Engine |7 |Populate Permissions start.
08:09:23.260|Error |SQL Compare UI |1 |Exception in progress dialog
System.Data.SqlClient.SqlException: Arithmetic overflow error for data type smallint, value = 32768.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.HasMoreRows()
at System.Data.SqlClient.SqlDataReader.ReadInternal(Boolean setTimeout)
at System.Data.SqlClient.SqlDataReader.Read()
at s.Read()
at n.H()
at n.F()
at n.a(m )
at RedGate.SQLCompare.Engine.Database.Register(ConnectionProperties connectionProperties, Options options)
at ap.DoRegisterDatabaseForCompare(Database database, LiveDatabaseSource dataSource)
at ap.DoRegisterDatabaseForCompare(Database database, DataSource dataSource)
at ap.DoRegisterDatabase2ForCompare()
at RedGate.Shared.Utils.ProgressTasks.ProgressTask.a()
at RedGate.Shared.Controls.ProgressDialogEx.e()
SC-4529