SQLCompare freezes during compare phase

blairtaylorblairtaylor Posts: 4
edited November 20, 2014 10:14PM in SQL Compare 11
Occurs using SQLCompare 11 but also with SQLCompare 10.x.

When we compare one specific database, during the compare phase it freezes.
We see the "SQLCompare - running dialog" and "Registering data sources" runs to 7% complete and stops.
No matter how long we leave the tool running it will never go past 7%.

We compare multiple similar databases (same structure but different data) across 5 other environments without any issue.
We can also compare a similar database on the same server without issue.

We eventually need to kill the task as cancel changed the dialog to "SQL Compare - canceling" but the process still runs until it is finally killed.

Comments

  • Hi,

    I've created a support ticket which is ticket number 30616. In order to help diagnose the issue, I'd like to see a log file. Please could you set up logging as per this page in our documentation, recreate the problem and then email the logfile to [email protected]?

    If you could put #30616 as the subject line of your email, it will help us find the file.

    Thanks.
    Software Engineer
    Redgate Software
  • I'm having the same issue. It runs fine when using SQL Compare 11 but it freezes when I'm using the dlls in my software. I was on version 10.0 (with a 10.0.0.265 hotfix) before upgrading to 11.0. It worked before the upgrade on the same machine, same server, same database...the only thing that has changed is the version of SQL compare.

    What can I do to get you logging information since it works fine through the program?

    thanks,
  • My code look a lot like your sample with a few tweaks so I'm not sure why it doesn't work in my program but works fine in SQL Compare...

    I define a set of options:
    m_Options = New Options
            m_Options = Options.IgnoreBindings _
                .Plus(Options.IgnoreChecks) _
                .Plus(Options.IgnoreCollations) _
                .Plus(Options.IgnoreConstraintNames) _
                .Plus(Options.IgnoreFileGroups) _
                .Plus(Options.IgnoreFillFactor) _
                .Plus(Options.IgnoreFullTextIndexing) _
                .Plus(Options.IgnorePermissions) _
                .Plus(Options.IgnoreQuotedIdentifiersAndAnsiNullSettings) _
                .Plus(Options.IgnoreWhiteSpace) _
                .Plus(Options.IncludeDependencies) _
                .Plus(Options.IgnoreExtendedProperties)
    

    Then I compare the database to a snapshot file and then grab the differences.
       'Set up the appropriate master database snap shot file
                m_sStatusObj = "m_oMasterDB"
                m_oMasterDB.LoadFromDisk(g_sAppPath & "" & sSnapshotFile)
                If g_oConvApp.CancelConversion Then
                    MsgBox("The conversion has been cancelled.", CType(MsgBoxStyle.OkOnly + MsgBoxStyle.Information, Microsoft.VisualBasic.MsgBoxStyle), InfoCaption)
                    GoTo EndFunction
                End If
    
                'Script the database being converted
                lblText.Text = "Scripting database"
                lblSecMsg.Text = "Scripting database"
                ClearProgress()
                System.Windows.Forms.Application.DoEvents()
                oConnProps = New ConnectionProperties
                oConnProps.ServerName = g_oUser.Server
                oConnProps.DatabaseName = sDB
                oConnProps.IntegratedSecurity = False
                oConnProps.Password = g_oUser.Password
                oConnProps.UserName = g_oUser.UserID
    
                m_sStatusObj = "m_oDB"
                m_oDB.Register(oConnProps, m_Options)
    
                'Compare the database being converted to the corresponding master
                lblText.Text = "Comparing databases"
                lblSecMsg.Text = "Comparing databases"
                ClearProgress()
                System.Windows.Forms.Application.DoEvents()
                oDiffs = m_oDB.CompareWith(m_oMasterDB, m_Options)
    
                'Exclude all database objects that we don't care about from the 
                'synchronization
                For Each oDiff As Difference In oDiffs
                    If oDiff.DatabaseObjectType <> RedGate.SQLCompare.Engine.ObjectType.Table And _
                       oDiff.DatabaseObjectType <> RedGate.SQLCompare.Engine.ObjectType.View And _
                       oDiff.DatabaseObjectType <> RedGate.SQLCompare.Engine.ObjectType.StoredProcedure And _
                       oDiff.DatabaseObjectType <> RedGate.SQLCompare.Engine.ObjectType.Function Then
                        oDiff.Selected = False
                    Else
                        oDiff.Selected = True
                    End If
                Next oDiff
    

    It gets stuck at the
    oDiffs = m_oDB.CompareWith(m_oMasterDB, m_Options)
    
    line.
  • I put in a support ticket but they think that the issue is with SQL Compare v11 versus the SDK is at 10.7. However, I'm using an automated build tool that references the 10.7 assemblies and then I'm installing the 10.7 assemblies on the client machine and then I have a database conversion program that also references the 10.7 assemblies to convert the databases. So that should all work seamlessly together right?
Sign In or Register to comment.