How can we improve SQL Source Control?

On a shared model, the Changed By column says unknown for some uncomitted changes on the Commit List

When I try to commit changes it says unknown user. I believe it is very important to be able to track who's making what changes.

115 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…)
    Franjo StipanovicFranjo Stipanovic shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    21 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...
      • Bill GoolsbyBill Goolsby commented  ·   ·  Flag as inappropriate

        Now, I got permissions to run 'SYS.TRACE', but get a new error that simply says: "The user does not have permission to perfom this action", but it doesnt say what the action is. It is obvious that it still does not perfom as intended. The whole purpose was to be able to tell who last modified an object without being a sysadmin. This is not near ready for prime time. Uninstalling.

      • Bill GoolsbyBill Goolsby commented  ·   ·  Flag as inappropriate

        I got an admin to install the new version so it created the RG database, but now I receive a new error: Cannot alter database, etc. So I got full rights to the RG database (coudl not access it), now I get a new error: You dod not have permissions to run 'SYS.TRACES'.

      • Bill GoolsbyBill Goolsby commented  ·   ·  Flag as inappropriate

        I installed the v3.1 version, and launch management console, but under the Commit Changes tab, I receive the error:

        CREATE DATABASE permission denied in database 'master'

      • Chris SmithAdminChris Smith (Admin, Red Gate) commented  ·   ·  Flag as inappropriate

        Hi Jason,

        The RG database is providing pre-commit information that is displayed in the “changed by” field on the commit tab.

        Once a change has been committed we display the details of the user that performed the commit in the History dialog, and this information does come from the version control system.

        Best regards,
        Chris

      • Jason TaylorJason Taylor commented  ·   ·  Flag as inappropriate

        Why a whole new RG database to record who made the commit? I know subversion itself can store that information. Is there a supported source control backend that can't?

      • Stuart DavisStuart Davis commented  ·   ·  Flag as inappropriate

        I'm dumbfounded you are on version 3 of this product and the Changed By column just shows "unknown"!

        Using the shared model, this is absolutely critical for the product to benefit us. Out of 100 changes made by the team to a database since my last commit, I don't know who has uncommitted changes or what the changes are I need to commit myself.

        Undoubtedly it's not straight forward as more than one user could have touched an object between commits, but at the very least I'd want to know who made the most recent uncommitted change.

        Ideally I would like to filter the list of changes by who caused them or at the very least be able to commit only my changes.

      • Bill GoolsbyBill Goolsby commented  ·   ·  Flag as inappropriate

        Please let us know when this is available, so we will be able to use this module. (product).

      • Tim BergTim Berg commented  ·   ·  Flag as inappropriate

        This is critical for historical code reviews and who is responsible for what.

      • Jason WallaceJason Wallace commented  ·   ·  Flag as inappropriate

        This is really important for us - it could be a huge benefit to know who is working on what changes.

      • SamSam commented  ·   ·  Flag as inappropriate

        The way this was implemented is a complete hack job. You guys can do better than this, i know you can. The way it needs to be implemented is by using the Source Control repository's native check-in / check-out functionality. This will open up your options to track changes for other db's such as Oracle, MySQL, etc...

      • Misty SwearenginMisty Swearengin commented  ·   ·  Flag as inappropriate

        We working on a shared database and have several developers who are updating the database at any given time. We need to be able to understand who is making changes and why the changes have not commited to source control. Because the Changed By user says unknown, I have no insight into who made a change and did not commit it to source control. We need to know this information in order to manage source control and ensure it is being used properly.

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

        @Will - Thanks for the feedback. Over the next few weeks we hope to experiment with an improved technique to preserve the modifier for longer than occurs right now. Please bear with us!

      • WillWill commented  ·   ·  Flag as inappropriate

        We do a lot of work and wait a long time before committing changes. In our environment, it's crucial to be able to tell who made changes before they are committed and promoted to the next environment.

      • Remi MongeauRemi Mongeau commented  ·   ·  Flag as inappropriate

        It would be very nice having a "strong" information for the ChangedBy column. The good usernames appear for only about an hour here, after that it turns to "unknown" which is not very user-friendly when it times to commit changes.

      • craigcraig commented  ·   ·  Flag as inappropriate

        Stephanie, Yes I understand this but if you are working in a large team and you go to commit your changes there may be many other changes from other people, you then have to spend the time double checking that the changes that you are about to commit are yours, also makes it hard to determine who has made other changes if you wish to contact them to discuss. Not all changes are going to be committed straight away so you end up with a mix of changes that at some point need to be commit but have come from many different people and hence in this case “Unknown” provides very little help.

        Sorry if I am pointing out the Obvious or missing the point :0)

        Thanks for your reply.

      • craigcraig commented  ·   ·  Flag as inappropriate

        Sorry but I think that it is rather poor that "Unknown" shows. The whole point of using the shared model is to be able to see who has made what changes as a way to manage updates back to the source control. I don't quite see the point in having the shared model if unknown is always going to show?

      • Red Gate AdministratorAdminRed Gate Administrator (Admin, Red Gate) commented  ·   ·  Flag as inappropriate

        If your default trace rolls over a lot and you are always seeing "unknowns," then you could try 2 things:

        1) Change your polling options so the blue indicators are less frequent. This would create less entries in the Default Trace. There are instructions on how to do this at http://www.red-gate.com/messageboard/viewtopic.php?t=12837. Each user would need to do this since these settings are a per user (per machine) option.

        2) Close SSMS more frequently. Polling will continue to happen for every db under source control that you touch in a session and will not stop until SSMS is closed. Therefore, if you are no longer actively working against the db, you may want to close SSMS.

        Keep voting here if we should implement our own trace so "unknown" isn't shown as often. If implemented, this is something you could opt-in to. Let us know how you would feel about having an additional trace on your development db servers.

      ← Previous 1

      Feedback and Knowledge Base