SQL Server

Microsoft SQL Server 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 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.


  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. In SQL Server Always oafter a failover, SQL Server keep the connections open without killing any session

    Hi Msft Team!
    I want to suggest one improvement to your sql server always on feature. Normally, once we perform failovers we need to ask app teams for maintenance windows... or in worst cases ,if this happens automatically, we need to discover the RCA of this because all the application or users connections had been terminated. Also many times that we had automatic failovers or perform failovers with long executions happening the secondary instance turned into recovery state because it was waiting for this session to finish to synchronize again. So, is it possible to add the capability for failovers…

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

    We’ll send you updates on this idea

    under review  ·  8 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add built-in support for regular expressions in T-SQL

    LIKE is very limited in what it can differentiate. The CLR has much more robust handling for regular expressions, but it's hard to get to from T-SQL.

    Could we add built-in functionality in T-SQL to do regular expression pattern matching?

    66 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: 54

    <=-=Sep 4 2007 12:29PM=-=>

    If this is considered for a future version of SQL Server, please implement it according to the ISO SQL standard. In other words, implement the SQL Standard , which provides regular expression support through the operator [NOT] SIMILAR TO, which in the standard remains separate from LIKE.

    <=-=Sep 5 2007 7:05AM=-=>

    Like Steve, I would also like to stress that any implementation should be as per ANSI (SIMILAR predicate). The CLR functionality is not a relevant design consideration.

    <=-=Oct 15 2007 8:43AM=-=>

    This is a request we’ve heard a lot, and it’s of obvious value. I can’t promise when we’ll get to it—-it’s doubtful for this release—-but this is certainly on our radar.

    Cheers,
    -Isaac

    <=-=Mar 24 2010 2:54PM=-=>

    Hi,
    I have resolved this request as duplicate of feedback item below:

    https://connect.microsoft.com/SQLServer/feedback/details/261342/regex-functionality-in-pattern-matching?wa=wsignin1.0


    Umachandar, SQL Programmability Team

    <=-=Mar 24 2010…
  3. 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/

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

    We’ll send you updates on this idea

    under review  ·  4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  4. "Call Stack"

    Provide DMV to provide the call stack of stored procedures, triggers, CLR functions etc prefferable in JSON format so it is parsable.

    As Erland Sommarskog says this is available but only in the "event Blocked Process Report:

    <executionStack>

    &lt;frame line=&quot;17&quot; stmtstart=&quot;1332&quot; stmtend=&quot;2906&quot; sqlhandle=&quot;0x03000d00399f00558c840601a29800000100000000000000&quot;/&gt;
    
    &lt;frame line=&quot;1&quot; sqlhandle=&quot;0x01000d00638e300f302e10ac000000000000000000000000&quot;/&gt;

    </executionStack>

    That is, here the call stack is available. Through the sqlhandle it is possible to retrieve
    the objectids of the calling procedures.

    If if it's available this way, it can't be too difficult to expose this in a DMV. Only exposing the
    sqlhandle would not match with my observation with permissions above, but…

    59 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 →
  5. Column Store Deadlock XML Is Missing Information

    Deadlock XML for column store indexes is missing several pieces of information about which objects were deadlocked in the resource-list section of the XML

    See here for background https://www.brentozar.com/archive/2018/04/column-store-deadlocks-missing-information/

    Also attaching files.

    58 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 →
  6. Move measures between tables in SSAS Tabular

    In Power BI Desktop and Power Pivot, you can easily move a DAX measure between tables (since a measure isn't actually related to a table anyway).
    However, this is not possible in SSAS Tabular (current version: 2017). You can cut a measure, but only paste it again in the same table, not in a different table.
    The current process is to create a duplicate of the original measure with a different name, delete original measure and then rename the new measure. Time consuming.

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

    We’ll send you updates on this idea

    under review  ·  4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  7. Make is possible to retrieve all error messages in a CATCH handler

    When you trap an error in a CATCH handler, you can use the functions errormessage, errornumber etc to get information about the error. This works well, as long as only one error message is produced. However, there are situations where multiple error message. In this case you can only retrieve one error message, and with a bit of bad luck this is only a generic error message. A typical example is BACKUP-RESTORE:
    BEGIN TRY
    BACKUP DATABASE msdb TO DISK = 'X:\nosuchdisk\dxx.bak'
    END TRY
    BEGIN CATCH
    PRINT error_message()
    END CATCH

    The output is "BACKUP DATABASE is terminating abnormally." The…

    55 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 →
  8. Add Application-period temporal tables and Bitemporal tables to SQL Server 2016

    SQL Server 2016 has temporal tables however these are only for system period temporal tables.

    Please add Application-period temporal tables and Bitemporal tables similar to the existing feature in DB2.

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

    We’ll send you updates on this idea

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

    Upvotes: 29

    <=-=Jul 27 2016 5:17PM=-=>

    This feature vastly simplifies development of certain types of applications. Would be interesting at least know if microsoft has some intention to implement it.

    <=-=Jul 27 2016 5:19PM=-=>

    A fully compliant implementation to ansi sql 2011 would nice too.

    <=-=Jul 28 2016 1:01AM=-=>

    I would also like to see bitemporal support added, it would be most useful!

    <=-=Mar 7 2017 11:54AM=-=>

    This feature would really help people trying to migrate their DBs from DB2 or Oracle to SQL Server that much easier.

  9. Add sp_estimate_data_compression_savings to SQL Azure Database

    Now Data Compression is available in Azure SQL Database (https://msdn.microsoft.com/en-us/library/cc280449.aspx), but the spestimatedatacompressionsavings is not available yet. The error message is:

    Msg 534, Level 16, State 1, Procedure spestimatedatacompressionsavings, Line 20 [Batch Start Line 14]
    'spestimatedatacompressionsavings' failed because it is not supported in the edition of this SQL Server instance 'MSSQLSERVER'. See books online for more details on feature support in different SQL Server editions.

    The workaround is to create another copy via database backup, compress and compare the table and index. But it takes more time, resource and money to get the result.

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

    We’ll send you updates on this idea

    4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  10. Named Parameters for User Defined Functions without EXEC

    Currently, stored procedures and scalar user-defined functions invoked with the EXEC keyword support named parameters.

    User-defined functions invoked as part of a SELECT or other statement require ordered parameter specification without parameter names.

    Specifying parameter names should be supported when invoked as part of a SELECT statement.

    When any parameters are named, all must be named,

    When any parameters are named, any omitted parameters should receive default values. Omitted parameters without default values should result in an error.

    See also:

    https://connect.microsoft.com/SQLServer/Feedback/Details/361449

    51 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

    <=-=Feb 7 2017 7:34PM=-=>

    Yes! I myself a use heavily inline table value functions and that would improve the clarity of their use even more!

    <=-=Mar 5 2017 2:48PM=-=>

    We understand the requirement, and it is good that it gets a lot of votes in very short period. It is in out backlog and we will consider it for some of the next releases; however, currently we cannot confirm when it will be implemented..

    <=-=Dec 22 2017 3:17PM=-=>

    This would be quite incredibly useful. When it was added to C#, it was a “so-what?” thing for me at the time – but now, I don’t know how I ever coded without named parameters. It has saved me countless hours getting things right the first time, and not chasing around dumb problems. I am sure the same would be true if SQL Server supported named parameters in User-Defined Functions.…

  11. DIVIDE function in T-SQL

    The languages MDX and DAX both have a DIVIDE function, which has the following syntax:

    DIVIDE(<numerator>, <denominator> [,<alternateresult>])
    The alternate result is specified as the result when a division by zero is encountered. If it isn't specified, NULL is returned.

    This would be a fine addition to the T-SQL language.

    50 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 →
  12. Change execution plan terminology

    SQL Server has since almost forever used the terms "Actual Execution Plan" and "Estimated Execution Plan" for execution plans with and without added run-time counters. And this has since almost forever caused confusion and misunderstanding.

    Erin Stellato, Grant Fritchey, and me, with the help of Pedro Lopes, have prepared a proposal for better terminology. Terms that better describe the reality and have less chance for confusion.
    See https://sqlserverfast.com/blog/hugo/2020/02/stop-the-name-calling-execution-plan-terminology/ for a more detailed explanation.

    Together with Erin and Grant, I request Microsoft to change the terminology in their tooling. In the next release of Management Studio, please replace "Estimated Execution Plan"…

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

    We’ll send you updates on this idea

    unplanned  ·  7 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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

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

    We’ll send you updates on this idea

    4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  14. Create a new DMV that Exposes CPU Utilization Information

    One common way to get CPU utilization by SQL Server is to query the sys.dmosringbuffers DMV. This DMV is undocumented and unsupported. It also sometimes returns incorrect information (with negative values or values over 100%) on some systems. This usually happens on systems that have more than 64 cores. I have attached a sample query that uses sys.dmosringbuffers for this purpose.

    It would be very useful to have a new DMV (that was supported and documented) that would more reliably return this information.

    47 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. Replace the import wizard with Power Query

    Instead of using the outdated import wizard (not the new one that was released recently in SSMS), a new one should be created that leverages the Power Query engine (aka the M language) to import data into SQL Server.

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

    We’ll send you updates on this idea

    under review  ·  3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  16. Option to store query store data in a filegroup other than PRIMARY

    Query store data is incredibly useful but depending on activity and settings it can grow to quite a large size. I would like an option to store this data on a filegroup other than PRIMARY. This would allow discretion regarding storage used, reduce the impact to recovery times and give DBAs more flexibility in managing query store data.

    46 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: 57

    <=-=Feb 8 2017 2:13PM=-=>

    We disallow ALL use of the PRIMARY filegroup on the premise that any use of PRIMARY is unauthorized, and PRIMARY is set to a small size with no autogrow. Since the Query Store on very active servers with non-parameterized workloads grows very, very fast, setting it to a filegroup whose data file is on a specific LUN (based on speed and cost, i.e. a specific storage tier) is vital.

    <=-=Apr 2 2017 7:56AM=-=>

    Thank you for taking time to post this issue! We understand that this could be an important issue for you.

    We get a lot of feedback regarding PRIMARY filegroup from the field and many MVPs. �
    This item is high on our priory list, but unfortunately, we do not plan to include a fix for this issue in the upcoming release. Although, we might include it as an improvement in future…

  17. OVER clause enhancement request - DISTINCT clause for aggregate functions

    SQL Server 2005 introduced only partial support for the OVER clause. It is our strong belief that a more complete implementation of the OVER clause should be prioritized highly in consideration for future enhancements in SQL Server. A more complete implementation of the OVER clause can help in solving many common business problems with simpler, more intuitive, and faster solutions than available today and also substantially reduce the need for cursors.
    The following paper details the feature enhancement requests:
    http://tsql.solidq.com/OVERClauseandOrderedCalculations.doc
    The current feedback item addresses the OVER clause enhancement request - DISTINCT clause for aggregate functions,…

    43 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: 577

    <=-=Dec 13 2007 3:33PM=-=>

    Dear Itzik.

    Thanks a lot for your feedback… and the strong voting support for this feature. Indeed, as you know, I am very much in favor of extending our functionality in this area. For a variety of reasons we did not get this into SQL Server 2008, but we are certainly looking into it for a future release.

    Keep the votes and comments coming…
    Michael

    PS: My apologies for the late official reply…

    <=-=Mar 10 2009 4:37PM=-=>

    I am a big fan of the ranking functions and partition by clause. I used them extensively. It was a fantastic inclusion in 2005. However, I can’t tell the number of times I wished DISTINCT worked with the count function. I can’t believe it wasn’t included in 2008!! So I’ve added my vote to get this in ASAP.

    <=-=Sep 15 2009 7:08AM=-=>

    yes this would be…

  18. Parallelize Script Update Mode

    When moving SQL Server between Cumulative Updates, Script Update Mode runs against each database on the instance in series. This works fine on smaller instances, but with hundreds or even thousands of databases on an instance, this can add a lot of time (several hours) to the process of starting the instance for the first time with the new CU.

    Suggestion: Run Script Update Mode in parallel, up to the MAXDOP setting for the instance.

    41 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 →
  19. 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.

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

    We’ll send you updates on this idea

    4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  20. Add RESTORE with NORECOVERY Back to Managed Instance

    Managed instance initially had RESTORE with NORECOVERY as an option, which would allow basic log shipping operations to be used instead of the complexity of configuration from a network and AAD perspective that the Data Migration Service requires. This would greatly reduce the friction for customers to move workloads into the Managed Instance service.

    38 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 →
  • Don't see your idea?

SQL Server

Categories

Feedback and Knowledge Base