How can we improve SQL Source Control?

Make it faster!!!! Improve Performance!!!

Oog, each commit is like five minutes. Neither standard commits of source code (same SVN server) nor redgate SQL Compare actions (same local database server) take that long!

Keywords: Performance, Speed, Fast

263 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Michael BlackburnMichael Blackburn shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    Dathan LiblikDathan Liblik shared a merged idea: Buggy and slow - please improve  ·   · 
    Younes AbesiYounes Abesi shared a merged idea: Calculating changes for large databases is very slow  ·   · 
    Mattw137Mattw137 shared a merged idea: Make it more scalable with better performance for large databases  ·   · 
    completed  ·  StephanieAdminStephanie (Admin, Red Gate) responded  · 

    We have been doing a lot of work on SQL Source Control lately. We’ve recently improved performance when you link a database, go to the commit and get latest tabs (especially subsequent visits where we can rely on data being cached), and when selecting/deselecting all on the commit and get latest tabs.

    If you are still experiencing performance problems, please make a new suggestion that is very specific to what you would like us to work on. Is it a specific step in the commit process that is taking a long time? Is it viewing history that is taking a long time?

    We’ve also started to work on this suggestion, Don’t refresh the commit/get latest automatically, https://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/462220-don-t-refresh-the-commit-get-latest-automatically, which will also help with performance.


    Contact support@red-gate.com if you can share your database schema with us for performance testing purposes.

    If you are experiencing problems with server load, please see http://documentation.red-gate.com/display/SOC33/Changing+or+disabling+the+database+polling+interval. Contact support@red-gate.com if you have any questions about this.

    Thank you!
    Stephanie Herr
    SQL Source Control Product Manager

    29 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Dathan LiblikDathan Liblik commented  ·   ·  Flag as inappropriate

        We love this product theoretically, but the performance is spectacularly bad in not one, but all of: speed (5-6 minutes per sync), memory consumption (GBs), TFS traffic (high), reliability (crashes SSMS all the time), data integrity (at least once a month we have to manually do a file-based check-in to rectify some confusion in the sync that then leaves the product unusable until the check-in is manually resolved).

        I don't want to be negative, but this is such an outlier to normal red gate quality, and your premium prices mean you should have a stellar tool with maybe an occasional bug. This is two years running now. What could be more important?

        Red gate - get on this. It's a major blemish to your otherwise excellent standards. Please.

      • BrightBright commented  ·   ·  Flag as inappropriate

        In order to improve performance, you need to change the base algorithm. If you stick with current logic and compare everything every time - this product will never work as expected and will even be unusable on db's with fair amount of objects. You should compare only what is changed since the last sync. modify_date in sys.objects is your friend!

      • Ben SproatBen Sproat commented  ·   ·  Flag as inappropriate

        How about an update on this? 3.1 is out and the product is still unusable for one of our primary databases. The commit tab takes upwards of 20 minutes to come up if it doesn't time out first. It only ever works once or twice and only if that is the only database we have linked. After the 1st or second refresh we run out of memory. If i have to work in that database i load it up on a separate machine click the commit tab and go do something else for a while on my normal machine and hope it actually gives me results. If it fails reboot and try again.

      • EricEric commented  ·   ·  Flag as inappropriate

        We find that after installing and using SQL Source Control, latest version, we routinely get out of memory exceptions in management studio. The only solution is to close and re-open management studio.

        Also, I get very high tempdb usage for my sessions on the db side when I'm using SQL Source Control. The usage can be as high as 8 GB. It is quite ridiculous. This stays in use until I close and re-open management studio.

        As for performance, we have one db that is around 120 GB with hundreds of sprocs and hundreds of tables, and it is painfully slow in SSC. However, we have another db that is over 200 GB with an equally large number of tables and sprocs, and it is quite fast. The database server versions are the same, and the db compatibility level is the same.

      • Jason KochelJason Kochel commented  ·   ·  Flag as inappropriate

        Same issue. What I don't understand is that the object explorer tree shows the blue dots next to the changed objects (so it's tracking in the background) but when I go to 'Commit Changes' it takes a long time to offer the list of changed objects.

        'Get Latest' is even worse. Perhaps it's because I'm using Mercurial? I'll 'hg update' to a particular branch (which updates the SSC-created .sql files on my local drive), but when I 'Get Latest', it seems like it's going back to Mercurial or maybe scanning the entire directory (~7500 objects) to see what's new.

        Seems like a lot of Mercurial users on this site. Perhaps a more native integration is possible?

      • YaroslavYaroslav commented  ·   ·  Flag as inappropriate

        Same problem, performance is a problem. We do not have really big db, around 200 tables, ~90 sp and ~50 views. Takes more than 2 min just on "registering working database", then 2-3min more for 3st steps and then around 3-4min on the last "calculating changes. Doing this at least 3 times/day and with 4 developers so need to to updated and commits is annoying

      • KKKK commented  ·   ·  Flag as inappropriate

        We have about 7800 objects in our primary DB currently under source control. Right now I have a SSMS instance open with 40+ tabs open that is using about 65 MB of memory, I have a second instance of SSMS open exclusively to use SQL Source Control, while only sitting Idle, it is using 1.2 GIGABYTES of memory! Many times when I try to do a Commit, or on a Refresh of the SSC window, it will throw a Out of Memory Error. Not to mention being painfully slow (5-15 minutes, if it goes the distance without crashing) to Commit or Refresh. My initial impression was good, as it has many useful features. I even recommended initially that we purchase a 5 user license to our CTO. However, since there doesn't seem to be a solution or workaround for the excessive resource usage, the Out of Memory Errors, or a way to decrease the amount of time needed to do a commit or refresh, I am changing my recommendation pending a viable solution.

      • Ritesh NarainRitesh Narain commented  ·   ·  Flag as inappropriate

        We are just evaluating and the performance is a show stopper. Functionality looks great, I just hope it can improve before we make a purchasing decision

        Ritesh

      • TravisTravis commented  ·   ·  Flag as inappropriate

        We have a relatively small database and it is painfully slow. As soon as I open management studio now I watch my memory usage go sky high. prior to installing Source Control it was not problem. I sent them our DB....had a few emails back and forth and now they won't even respond to my support ticket. I was such a cheerleader for these guys and now I get the cold shoulder. We bought Compare/Data Compare/Source Control. If the performance doesn't change I'll have to ask for a refund. What a bummer.

      • David AtkinsonAdminDavid Atkinson (Admin, Red Gate) commented  ·   ·  Flag as inappropriate

        Thanks for the feedback. Is it the refresh on the Commit tab that is slow for you? How slow is it exactly? We certainly hope to make improvements in this area. We're considering having the ability to do some of the work in the background, rather than forcing you to wait for the full duration.

      • zacukezacuke commented  ·   ·  Flag as inappropriate

        We have 1300 stored procedures and 560 tables, and SQL Source control can be painfully slow sometimes. Sometimes it is extremely fast, so it is hard to diagnose what is happening. We have fast internet connection to SVN server (10 mbps minimum)

        But its fast enough that we use it daily. Our machines are new Core i5 8GB ram machines so I don't know where the bottleneck is.

      • JesseJesse commented  ·   ·  Flag as inappropriate

        I'm quite surprised that there are so few comments on this issue. Are people satisfied with the current performance of SSC? Even a relatively small database takes around 30 seconds to show / verify changes. A couple times per day and that's some serious time wasted over the course of the week for a group of developers.

      • WT JonesWT Jones commented  ·   ·  Flag as inappropriate

        Are there any updates on this? The polling frequency fix won't solve the real issue for us.

        Could you add in a mode that uses DDL triggers to mark recently changed objects? In theory the commit screen would be blazing fast and scale with many objects.

      • Younes AbesiYounes Abesi commented  ·   ·  Flag as inappropriate

        It takes 10 minutes for me, it is unacceptable. I need to be able to unlink and link to that database in different folders fast.

      • BrightBright commented  ·   ·  Flag as inappropriate

        We have db of 20 000 objects. Single object check-in takes about 4-5 minutes. That makes this product unusable for us.
        Admins, please merge all the topics complaining about performance into one and sum their votes! Because we have like 5 topics about the same thing (slow commit), each on about 20th place because voices are scattered to topics that are dealing with the same thing: performance.

      • BrightBright commented  ·   ·  Flag as inappropriate

        We hame database with ove 20 000 objects, moslty stored procedures. Commit of a single (one!) procedure takes about 4-5 minutes! Unfortunately, that makes SQL Compare unusable product for us.
        It is imperative not to compare all objects when you just want to check-in one object. How to do that - that's another story, but it is very possible, not even too difficult.
        Another thing, please merge all topics about performance: "1012201-make-it-faster-", "461789-performance-with-800-objects", "802985-use-sys-objects-create-modify-date-to-get-new-chan" and sum their votes, because they are all about the same thing.
        Thanks!

      • BrightBright commented  ·   ·  Flag as inappropriate

        Dear admins, please merge topics about slow performance: "1012201-make-it-faster-", "461789-performance-with-800-objects", "802985-use-sys-objects-create-modify-date-to-get-new-chan" and sum votes for all of them. Thanks!

      • Shrini ViswanathanShrini Viswanathan commented  ·   ·  Flag as inappropriate

        We have over 1612 procedures, over 250 tables, over 470 views and guess what, it takes over 15 to 30 minutes to check in one object in SQL. I really wish I can select a single object and simply verify/check-in against SVN. Even though I am requesting a simple action, it is comparing all the objects. It is lot faster for me to take the alter and manually check-in.

      ← Previous 1

      Feedback and Knowledge Base