SQL Server

Microsoft SQL Server 2017 powers your entire data estate by supporting structured and unstructured data sources. It builds on previous versions of SQL Server, which have been industry leading for four years in a row and a leader in TPC-E. It scales to petabytes of data and allows customers to process big data through PolyBase using T-SQL over any data. SQL Server has also been the least vulnerable database during the last seven years. SQL Server 2017 brings data insights with business intelligence capabilities that provide analytics at a fraction of the cost on any device along with advanced analytics with support for R and Python.

More details about SQL Server are available in the SQL Server documentation.
If you have a technical issue, please open a post on the developer forums through Stack Overflow or MSDN.

Do you have a comment or suggestion to improve SQL Server? We’d love to hear it!

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Indicate "morally equivalent" forced plan where use_plan = true but is_forced = 0

    Currently, if you force a plan in query store (or if it is forced by automatic plan correction), the exact plan which is forced has is_forced = 1 in sys.query_store_plan. In the plan properties, there is no use_plan indication.

    After this plan is forced, often a "morally equivalent" plan will be compiled, which has a different query_plan_id and different costs, but the same plan shape.

    This "morally equivalent plan" has is_forced = 0 in sys.query_store_plan. In the execution plan properties, use_plan = true.

    These "morally equivalent plans" are currently difficult to identify in the Query Store reports and in the…

    28 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  2. [Graph Database] Implementation of Transitive Closure and Transitive Reduction

    It'd be great to have the transitive closure and reduction implemented in SQL Server Graph Database. A lot of scenarios will benefit from them.

    Here a description of the two problems:
    https://goo.gl/j9U5nb

    28 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  3. Implement Batch Mode Support for Row Store

    I would love to see the Batch Mode implemented for the Row Store, it would bring a major improvement to the query execution plans performance.
    With current data growth explosion almost no OLTP system is working on couple of hundreds of rows, the real numbers are moving very fast into millions.

    OLTP systems can't be viewed only from the perspective of writing the data, where in fact small amounts of data are processed, but when dealing with a constantly increasing number of rows read - this situation needs to be addressed.

    I constantly see systems where index scan operators are…

    26 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 81

    <=-=Aug 5 2014 8:28AM=-=>

    As far as I understand the current (SQL Server 2014) implementation of the Batch Mode, the Delta-Stores are already being processed in Batch Mode which means that the algorithm per se is already able to work with a b-tree HEAPs (Row Storage).

    <=-=Mar 3 2017 9:38AM=-=>

    Nico,
    I’m working on this feature right now. It won’t make the next version, but I’d really like to talk to you about what use cases you see for it. There is more to the work than just enabling the optimizer to consider batch mode plans over a rowstore.
    I’ll start an offline conversation about some of the particulars.
    Kevin

  4. Multi-threaded rebuilds of Clustered Columnstore Indexes break the sequence of pre-sorted segment ordering (Order Clustering)

    In order to get a better performance as well as compression results, we can sort the data in a RowStore engine before creating Columnstore Index to get a better Segment Elimination.

    What happens is that if we build a Clustered Columnstore directly after sorted RowStore with (DROP_EXISTING=ON) to get a perfect Order Clustering, we have the order maintained just partially.

    To test it, download ContosoRetailDW (http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=18279),
    and run the following script:

    ALTER TABLE dbo.[FactOnlineSales] DROP CONSTRAINT [FK_FactOnlineSales_DimCurrency];
    ALTER TABLE dbo.[FactOnlineSales] DROP CONSTRAINT [FK_FactOnlineSales_DimCustomer];
    ALTER TABLE dbo.[FactOnlineSales] DROP CONSTRAINT [FK_FactOnlineSales_DimDate];
    ALTER TABLE dbo.[FactOnlineSales] DROP CONSTRAINT [FK_FactOnlineSales_DimProduct];
    ALTER TABLE dbo.[FactOnlineSales]…

    26 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 47

    <=-=Jul 3 2014 10:03AM=-=>

    This would definitely be a good build. I walked through an initial investigation of clustered columnstore on one of our data sets, and the number of reads was reduced by about 80% for some queries in the workload once I started paying careful attention to segments and loading data in a single-threaded manner to optimize segment elimination. However, this results in slower loading of data, and it would be great to be able to create columnstore indexes in order for segment elimination.

    Having an optional ORDER BY clause for the columnstore initial creation, removing the need to first create a clustered index in order to control order and allowing parallelism without breaking order, would be particularly powerful.

    <=-=Jul 3 2014 10:30AM=-=>

    Neugebauer: thanks. you identified the issue correctly. This is something we are actively looking. One question
    (1) once the index is build, the…

  5. Add SQL Code Formatter

    Please add a SQL code formatter to the query editor. It should work like the C# code formatter in Visual Studio except for SQL.

    26 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  6. Table of Contents in SSRS

    Reporting Services should allow the dynamic creation of a table of contents for a given report.

    The intial version should at least be able to state the page number of given objects (table, chart etc), with 'grouping' level links in subsequent releases.

    Interactive versions should contain hyperlinks to the given page.

    It should offer various styles as to how this may be achieved i.e. roman numerals for sections, filler dots for proportional width fonts between item and page number

    25 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 25

    <=-=Jun 15 2010 3:54AM=-=>

    I completely agree.

    I’ve googled and can’t even find a work around to create a professional style report with a table of contents.

    Would be extremely useful.

    <=-=May 26 2011 8:15AM=-=>

    Agreed. This needs to be built into the product.

    In addition to what was said above, I would request that this table of contents page end up as page 1 when you export to PDF and end up as page 1 when you print. (The document map doesn’t print, and it only appears in the bookmarks tab in Adobe Reader.)

    A hack of a workaround is mentioned here. I�m not wild about it. We have to deploy a custom assembly� we have to store this info in a database table� we have to account for storing the page count per report per parameter combination per user (in case there�s data level user security).…

  7. Change the way Script Task/Components are handled in SSIS

    When having to work with script task or components inside of SSIS it becomes quiet tedious because the loading times are exessive and the functionalities are rather limited.
    I would like to propose a new form of Script Task, a Script Task v2 if you will. Instead of just exposing a subset of VS making this Script Task a proper C#/VB.net proj that compiles down to a dll. That has a Main Class that implements an interface that contains a execute-method.
    These Projects would be added to the SSIS Solution as seperate Projects offering everything from Nuget to properly allowing…

    24 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  8. SSMS and Grouping by Schema

    Let SSMS group tables & other objects by Schema! This makes large databases a lot easier to maintain.

    If I have a database with a lot of objects, say 300, organized in a lot of schemas (say 20), it is not easy to keep the overview. In Visual Studio there is a solution: You can group the objects by schema. There is even an outdated SSMS extension: https://ssmsschemafolders.codeplex.com

    24 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  9. Ability to run specific SQL Agent job steps

    Occasionally a user may need to run only specific steps of an agent job, or need the job stop after a certain step.

    While SQL Server Agent currently provides the ability to "Start job at step", this is all the flexibility the user has at runtime. Anything beyond that requires the job to be edited.

    It would be useful for those with permission only to run (not edit) jobs to have greater flexibility at runtime. E.g. a screen which allows the user to choose which steps to run or skip for that particular execution.

    23 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  10. Enable SSRS parameter visibility to be set dynamically by expression

    SSRS columns can be set to display dynamically based on an expression, but SSRS parameters can only be set to Visible, Hidden, or Internal. My suggestion is to add the ability to control SSRS parameter visibility by expression as well.

    23 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  11. Allow Updating Statistics on the Secondary Replicas of the Availability Groups

    Allow remote (on the secondary replicas) statistics update for the Availability Groups. Given that a lot of time the secondary replicas have extra resources
    Potentially this could lead into spreading & parallelising the statistics recalculation processes while doing maintenance or potentially even ad-hoc.
    The original idea behind this is described in the following blogpost – http://www.nikoport.com/2019/06/20/updating-statistics-on-secondary-replicas-of-the-availability-groups/

    22 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  2 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  12. Database Diagram

    I was really sad to learn that the Database Diagram function is being removed from the SSMS-18. I find it EXTREMELY useful in the database modelleing and buidling. I hope that you will take it back into the SSMS sometime soon.
    Is there any way to run an older version in parallell to the new one in order to be able to use the Diagram-function?
    Regards
    Magnus

    22 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  13. Allow Developer Edition to Emulate Feature Set of Different Editions

    Since developer edition of SQL Server supports the Enterprise Edition feature set, it is easy to develop solutions that use Enterprise-only features when the solution will be deployed to Standard, Workgroup or Express edition.

    22 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  14. Add columns has_victims and is_intra_query_deadlock to the event xml_deadlock_report

    When working with deadlocks I have found that it would be useful to to have some columns added to the event xml_deadlock_report.

    * has_victims - SQL Server sometimes generates large number of intra-query xml_deadlock_report - events with no victims, and no errors. It would be useful to be able to filter them out.

    * is_intra_query_deadlock - Intra-query deadlocks where the process is aborted (getting an error) are rather serious bugs in SQL Server.
    When working with Microsoft Support you are often asked for stack dumps. You can use extended events to generate stack dumps, but then it would be good…

    21 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  15. Bring back the TSQL debugging in 18.x please. It is so useful, why are you removing it?

    Bring back the TSQL debugging in 18.x please. It is so useful, why are you removing it?

    20 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  16. provide lpad/rpad funtion

    In 15 years of sql server development, was the lack of native lpad/rpad string funtions, one of the main pain. Please provide native left padding (lpad) and right padding (rpad) funtions.
    Every main DBMS supports this function, except MS SQL Server.
    I think this an easy subject that has to be changed.

    The follwolling DBMS supports rpad/lpad:
    - Oracle
    - Postgresql ()
    - MySQL
    - DB2
    - Informix

    20 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 1

    <=-=May 29 2017 1:07PM=-=>

    Thanks you for the idea. We will keep it into the backlog but we cannot guarantee when it would be implemented. We have already added several new string functions STRING_AGG, TRIM, TRANSLATE, and it would be good to add more. We are prioritizing functions that might be added so we cannot confirm when we will add this one.

  17. Installation option for Lock Pages in Memory

    I would like to have an option to set Lock Pages in Memory in the SQL Server command line installation.

    Something like this:

    /SQLSVCLOCKPAGESINMEMORY

    https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt

    20 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  18. full justification in reporting services 2008 needed

    full justification is a basic need in a reliable reporting solution, advanced formatting options like in crystal reports would make a better product but justification is mandatory.

    19 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 527

    <=-=Jan 27 2009 11:47AM=-=>

    Thank you for providing this feedback. We will consider adding this functionality in a future release of SQL Server. If there are other rich formatting requirement that you have, please do add details to this item for those additional features also.

    <=-=Dec 3 2009 11:21AM=-=>

    When is this justify text going to be out? You commented on 1/27/2009 and it’s nearly a year since this has been resolved. How come the Silverlight team and accommodate the top requests within a few month but SQL team cannot do the same?

    <=-=Mar 23 2010 12:37PM=-=>

    In many cases a reporting tool is the best option to provide formatted data to clients, shareholders, and other individuals where the appearance of the report is as important as the accuracy of the data. It has to look good, not just be correct.

    This is a serious deficiency, and while …

  19. Add array-support to SQL server engine

    Arrays are a core part of programming, except in SQL-server, where they don't exist.

    PostgreSQL has had array support for over 15 years (version 7.1 in 2001) by now...
    https://www.postgresql.org/docs/current/static/arrays.html

    And yet, in the year 2016, in the MS-universe, we still can't even parametrize an IN-clause in a SIMPLE & performant way, for example in a table-valued function or when passing a multiple-choice drop-down selection from SQL-Server reporting-services, or the combination of the two...

    Instead, there are a multitude of horrible, error-prone, complicated, user-unfriendly, slow & unperformant ways of working around the problem. For example, when you need to prevent…

    18 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 6

    <=-=Mar 3 2017 2:00PM=-=>

    We are aware that this is important missing feature; however, we have no plans to add this in the near future. We will keep this request in backlog to see how many votes will get.

    <=-=Jul 1 2017 7:03PM=-=>

    Can’t even remember how many times I’ve wished to have this in SQL server.

    If you want to get a somewhat realistic feel of how talked about this feature really is, you can check out the number of votes and more importantly views that this StackOverflow question has:

    https://stackoverflow.com/questions/1732613/how-to-declare-array-inside-sql-server-stored-procedure

    Unfortunately, not many people visit this website and participate in voting here so it’s not a reliable indicator of how much any particular feature is requested. Please consider moving to UserVoice. Visual Studio UserVoice for example has loads more activity.

    <=-=Jul 1 2017 11:17PM=-=>

    We totally understand that t-sql as a language itself is desigened to…

  20. Support "natural sorting" / DIGITSASNUMBERS as a Collation option

    Quite often** people want to sort a string containing either only numbers, or a mix of letters and numbers in a pattern, such that the numeric portion of that string is sorted as an actual number. For example, "Class40g" would come before "Class300c", not after. This behavior has already been integrated into File Explorer, starting in Windows 7.

    Currently when people need to do this type of sorting, they need to create silly and inefficient methods of parsing the string into separate alpha and numeric chunks.

    ** often = numerous questions regarding how to accomplish this type of sorting on…

    18 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 11

    <=-=Jul 15 2016 6:51AM=-=>

    I offer as evidence for the desire for this to happen, the 1k+ views of my stackoverflow question from 2011. A little under a person a day.

    http://dba.stackexchange.com/questions/3828/is-there-a-collation-to-sort-the-following-strings-in-the-following-order-1-2-3?noredirect=1#comment273118_3828

    <=-=Jul 15 2016 8:40AM=-=>

    Adding to the link that Justin posted to his Stack Overflow question:

    http://dba.stackexchange.com/questions/117379/sort-a-varchar-type-column
    http://dba.stackexchange.com/questions/126744/order-by-and-comparison-of-mixed-strings-of-letters-and-numbers

    http://stackoverflow.com/questions/34509/natural-human-alpha-numeric-sort-in-microsoft-sql-2005
    http://stackoverflow.com/questions/3158917/natural-sort-for-sql-server
    http://stackoverflow.com/questions/22461619/complex-sort-of-field-string-number-string
    http://stackoverflow.com/questions/24989365/sorting-a-string-numerically-in-sql-server
    http://stackoverflow.com/questions/26552435/sorting-mixed-numbers-and-letters
    http://stackoverflow.com/questions/26932310/sql-server-string-convert-numeric-and-sorting-issue
    http://stackoverflow.com/questions/28278467/sort-dropdown-list-in-alpha-numeric-order
    http://stackoverflow.com/questions/28372359/natural-sort-for-sql-server
    http://stackoverflow.com/questions/29676432/alphanumeric-sort
    http://stackoverflow.com/questions/30502118/sort-float-numbers-as-a-natural-numbers-in-sql-server
    http://stackoverflow.com/questions/35001818/alphanumeric-and-numeric-sorting-in-sql-server
    http://stackoverflow.com/questions/37728476/sql-sorting-numeric-and-string

    http://www.codeproject.com/Articles/51602/How-to-Sort-Alphanumeric-Data-in-SQL

    <=-=Mar 3 2017 1:02PM=-=>

    We understand the scenario and if it gets more votes we will consider it for the next releases. It is assigned to our collation & string processing team.

  • Don't see your idea?

SQL Server

Feedback and Knowledge Base