SQL Source Control

Welcome to the SQL Source Control feature suggestion list. Find out more information about SQL Source Control at http://www.red-gate.com/products/sql-development/sql-source-control/.

If you have any questions, need help or have found a bug in SQL Source Control, please review our support information http://redgatesupport.red-gate.com/home.

To get new features, performance improvements and bug fixes as soon as they’re available, you may want to turn on frequent updates: http://www.red-gate.com/products/sql-development/sql-source-control/frequent-updates

SQL Source Control

Categories

JUMP TO ANOTHER FORUM

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Introduce something similar to the "IGNORE" rules found in your Schema compare for Oracles solution to the SQL Server Source Control product.
    The problem that exists for those of us with third party databases that have 10's of thousands of objects is that they are not workable using this product because it ONLY applies the filter AFTER it has already tried to extract and manage the ENTIRE database. The "IGNORE" option would allow us capabilities similar to filter but they would be applied UP FRONT and BEFORE the system ever tried to gather and manage every single object in the…

    47 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
  2. If you use multiple branches for a database and you need to switch branches there is no way to change branches in SSMS. While opening some UI for git or using the command line is not difficult it would be nice to just switch to some branch, pull and apply changes, as needed/wanted all inside of SSMS

    201 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  21 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Treat object RENAME as Source Control (TFS) file RENAME not Drop & Add which deletes Source Control history of the object/file

    More details can be found here: https://redgatesupport.zendesk.com/hc/en-us/requests/88809

    72 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. This has over 50 votes but its in SQL Prompt. This is a HUGE pain for us as we need to use AD to adhere to security policy.
    https://redgate.uservoice.com/forums/94413-sql-prompt/suggestions/15008409-add-support-for-azure-active-directory-authenticat

    270 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    12 comments  ·  Azure  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Thanks to everyone for submitting feedback on this in the form of both voting and comments.

    Currently, SQL Source Control does not have strong support for Azure SQL Database: as folks have noted in this item, AAD support, particularly with multi-factor authentication, is desired. Currently SQL Source Control does not work at all with Azure SQL Database with MFA enabled.

    An additional issue worth mentioning is that pains with SQL Source Control performance may be worse than interacting with Azure SQL Database due to latency.

    We would like to improve the user experience and support for Azure SQL Database, and doing so almost certainly involves addressing both of these issues. This is an area we are beginning to investigate more fully.

  5. prevent timeout on commit changes tab for larger db in shared database model

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  Paul Stephenson responded

    The timeout occurs when SQL Source Control runs a SQL query to find out which user made the changes that need to be committed, and the server takes too long to respond.

    SQL Source Control 3.6.0 improves this situation, so that if a timeout occurs you can still go ahead with the commit. This version is currently available on Frequent Updates. To learn how to turn on frequent updates, see: http://www.red-gate.com/products/sql-development/sql-source-control/frequent-updates

  6. I have a single schema for all customers but different reference data for different customers. It would be nice if I could manage this all within SQL Source Control. This should also be understood by SQL Compare and my continuous integration system when it comes time to deploy this to my different environments and customers' sites.

    254 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Static Data  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Hi all. Thank you for your votes and feedback on this issue over the years. Here is our current guidance for this suggestion:

    Post-deployment scripts give you flexibility for static data

    With SQL Source Control, you can now use a post-deployment script to “dynamically” deploy static data based on a factor such as @@SERVERNAME or other query-able conditions.

    SQL Source Control introduced pre- and post- scripts in v6.3.

    An example post-deployment script which shows how to control deployment of static data by environment is here: https://documentation.red-gate.com/soc7/common-tasks/working-with-pre-post-deployment-scripts/static-data

    If you make heavy use of Static Data, we have stronger support for this in SQL Change Automation.

    SQL Change Automation:

    • Supports column filtered static data tables in the SCA plugin in SSMS
      Supports multiple post-deployment scripts, in case there is a preference to manage static data tables in dedicated post-deployment scripts
    • Allows approaches like bulk loading larger static data tables by supporting SQLCMD
  7. The only obstacle I have with switching to SQL Source Control 3 as a complete solution to source controlling and deploying is its inability to rollback custom code in a Migration Script. I would like when creating a Migration Script the ability to create a Reverse Migration Script so that if I use SQL compare to roll a code push back to a previous version in source control, it will grab the reverse script the same way as it grabs the migration script currently when pushing.

    For example, if my migration script has an update statement in it to modify…

    94 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. Do not use transactions but use bulk insert in order to reduce the get latest time. A 'flush and refill' approach using bulk insert should be faster in hours with 10K plus records.

    A two processor, dual core computer with 8GB of RAM and a Windows experience index of 6.5 takes over 8 hours to get lates on 50K records.

    10 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Static Data  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Thanks for this feedback and for the votes for this suggestion.

    For users who need to manage larger volumes of static data, we currently recommend versioning the database with SQL Change Automation. SQL Change Automation has stronger support for static data:

    • Supports column filtered static data tables in the SCA plugin in SSMS
    • Supports multiple post-deployment scripts, in case there is a preference to manage static data tables in dedicated post-deployment scripts
    • Allows approaches like bulk loading larger static data tables by supporting SQLCMD variables in migration and post-deployment scripts

    I do understand that you are looking for this feature in SQL Source Control, but wanted to surface this option for other readers who may be interested in either tool.

  9. I would like the ability to source control a subset of a table (perhaps using a view).

    I have inherited a database where lookup data is intermixed with user defined data. We reference the lookup data in the table using a code (VARCHAR) that is unique when another field is NULL, so it is possible to ensure that records are created/updated/deleted without concern for the primary key involved.

    For more information, you can refer to this forum post:
    http://www.red-gate.com/messageboard/viewtopic.php?p=50087

    633 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    30 comments  ·  Static Data  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Hi everyone. I have merged some User Voice items on this topic of “filtered” static data, as there was significant overlap. I want to share our current guidance on handling scenarios where you need to version a subset of the columns and/or rows in the table.

    With SQL Source control, the best option at this point is to use a post-deployment script for this purpose.

    SQL Source Control introduced pre- and post- scripts in v6.3.

    A post-deployment script gives you a good amount of flexibility over exactly which rows or columns of data you want to include in your project. Example post-deployment scripts for static data are here: https://documentation.red-gate.com/soc7/common-tasks/working-with-pre-post-deployment-scripts/static-data

    If you make heavy use of Static Data, we have stronger support for this in SQL Change Automation.

    SQL Change Automation:

    • Supports column filtered static data tables in the SCA plugin in SSMS
    • Supports multiple post-deployment scripts, in case there is…
  10. Currently, SQL Data files contain a bunch of insert statements, but the order of the insert statements can be inconsistent. For example, new records might get inserted on the top or the bottom. Also, multiple SET IDENTITYINSERT statements sometimes get created. This makes it difficuly to merge data changes between multiple branches in TFS Source Control. If the Insert statements had a consistent order and only included one SET IDENTITYINSERT diffs and merges would be easier.

    516 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    33 comments  ·  Static Data  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Thanks for this suggestion and for the many comments and upvotes. I realize that this is a pain point.

    I have a few shorter-term workarounds to summarize as well as some information on the longer roadmap in this update. I know these shorter-term workarounds aren’t perfect (I summarize the pros and cons), but I’m posting them as they may help a few folks.

    Workaround 1) When data changes to static data need to be made, use a “relink the table” pattern
    One can “cleanly rescript” a static data table in SQL Source Control by:

    • Unlinking the static data table
    • Committing
    • Relinking the static data table
    • Committing

    Pro: This works with the GUI and requires no special knowledge or comfort with TSQL. This may help folks with just a few static data tables.
    Con: This requires extra steps and results in extra commits in the history, which I realize can…

  11. Validate Scheme - similar to VS for DB Pro "Build" e.g. dropping column on table will signal error / warning on a view that uses that column.

    2 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  12. If from Get Latest / Commit changes it is determined that an object shouldn't exist, currently there is no way to drop the object from the db, or delete it from TFS, via the SQL Source Control UI.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. We have an automated system for building our developer environments. It would be nice to have a command line tool that we can use as part of the machine build script to pull down the latest version of the database, build the initial database and link that database back to the TFS source. Our platform consists of quite a large number of databases so linking to them all manually via the UI is a bit tedious.

    473 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    64 comments  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Thank you everyone for the suggestions and votes for this over the years.

    I’d like to surface up a workaround for the “linking” problem which is mentioned in the comments. For the use case of easing pains around environment setup with a large number of databases, we have had customers find success using code based off Alessandro Alpi’s blog post: https://alessandroalpi.blog/2016/06/28/automatically-link-databases-to-red-gate-sql-source-control/

    I do understand that this is a broader issue and hear that many of you also want command line or API support for the product in general.

    If there are specific scenarios or workflows that would be useful to automate for you, this feedback is also very useful, and if you have details on the type of VCS you use and the workflow (such as a branching model) that it would fit in to, that would be very helpful for us to hear as well.

  14. I can select multiple items by click/draging over the items, however it will only allow me to select what is on the current screen.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →

    Do you have a wheel on your mouse? Once you highlight the items in view, just roll your mouse wheel to keep going down the list.

    Another way to do this is to click the first row, hold the shift key down, and scroll down to the last row and click again. This will allow you to highlight everything.

    Also, there’s a checkbox in the column header of the Commit/Get list if you want to uncheck/check everything all at once.

    I hope this helps.
    Stephanie Herr
    Project Manager SQL Source Control

  15. I inadvertently put [] into lots of my column names and this broke RedGate. Google found something that might help explain:

    I eventually fixed it by dropping the tables, which caused RedGate to run a create table statement rather than sp_rename.

    https://connect.microsoft.com/SQLServer/feedback/details/509970/object-id-does-not-handle-object-names-with-square-brackets?wa=wsignin1.0

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  16. I have seen no way on how to actually do a merge with SVN and mark as merged etc
    We really need a more inutuitive way to merge the changes to SVN and vice versa. At the moment I am getting conflicts that I can't put into SVN because there is no way to say it has been merged, or even how to merge the changes.

    128 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    under review  ·  20 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Visual Studio already allows this which keeps track of which Source Control items go with which Change Control items. This would also be greatly beneficial if we could associate the database changes as well.

    135 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    30 comments  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Elizabeth Ayer responded

    Hi – this request was closed when the ‘TFS work items’ feature was released. http://documentation.red-gate.com/display/SOC3/Committing+changes

    However, we’re still hearing about this enough that I’d agree with commenter Ben: it should be reopened.

    We will continue to gauge interest here on UserVoice. Please do tell us more in the comments about what you expect to be able to do with Work Items in SQL Source Control.

  18. Instead of Get Latest, I want to be able to get a specific version out of source control and reapply it to the database. This would allow me to rollback changes that were accidentally committed. I should be able to specify what version/revision that I want to go back to.

    This is the same as getting a previous version from source control so that I can debug an issue a user found in a previous release.

    189 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. The error should consist more detailed data. Like from which procedure, function or table such error was thrown. I assume my error has nothing to do with SQL Source Control, it's my DB ;)

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  20. Would be great if SQL Server Agent jobs could be incorporated into SVN

    477 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    31 comments  ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Kendra responded

    Thank you everyone for your comments and votes on this over the years. While I don’t have a 100% full resolution for this suggestion, I can sum up our current recommendations here. Continued feedback is very welcome.

    Our current recommendation is to use the post-deployment script feature of SQL Source Control (released in V6.3) to manage SQL Server Agent jobs.

    An example script for this is here: https://documentation.red-gate.com/soc/common-tasks/working-with-pre-post-deployment-scripts/create-sql-server-agent-job

    As some commenters in this thread have alluded to, it is possible (and sometimes very common) for SQL Agent jobs to have steps that touch multiple databases on a single SQL Server Instance. For this reason, some customers prefer to create a separate database for instance-level management and objects (sometimes named DBA or similar) and choose to manage things like linked servers and SQL Agent jobs with the post-script associated with that database.

    This separate-database architecture also makes sense if the jobs…

  • Don't see your idea?