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. Reporting Services subscription jobs naming

    SSRS creates subscription job names with the guid of the schedule. Result: messy lists of SSRS Agent jobs and user defined Jobs in SSMS.

    SSRS should have a (configurable) prefix like SSRS; job name would be: SSRS.16EDA7C0-D3DB-4E0F-9394-A8E8C570BB77

    18 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 →
  2. Add Central Management Server support to Azure SQL Database

    Registering a new Central Management Server currently requires msdb and as such, we cannot register a Central Management Server in an Azure SQL Database. It would be great to have this feature to help support managing on-premise database instances as well as Azure SQL Servers.

    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 →
  3. Provide a way to update SSDT system database reference DACPACs

    Please provide a method for updating the master.dacpac and model.dacpac reference databases that install with SSDT.

    The versions that install with SSDT are static and do not reflect any changes/enhancements/bug-fixes that are made within SQL Server.

    For example, the SQL Server 2017 master.dacpac is missing the new system DMV's [sys].[dm_os_host_info] and [sys].[dm_db_log_stats], and the recently released SQL Server 2016 SP2 adds a new DMV [sys].[dm_db_log_info] and new columns to the DMV [sys].[dm_os_sys_info] which will be missing from the SQL Server 2016 master.dacpac.

    Any referenes to new DMV's/columns generate 71502 (unresolved reference) errors. The workaround is to ignore these errors, but…

    17 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 →
  4. Please add the Scroll bar to the Parameters section in SSRS Report Manager like in SSDT

    When viewing a SSRS report on a device with a smaller screen, such as an iPad or iPhone, if there are several parameters, it takes up a lot of space, and with SSRS 2016, it does not scroll out of view - only the report section scrolls.
    Could you please provide scroll bar for parameters section in Report Manager like in SSDT.

    17 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 →
  5. SSRS Emailing Reports Should allow password & encryption for GDPR compliance & Extra Security

    When configuring SSRS to email a report on a schedule, it does not allow the files to be encrypted or to be password protected. For GDPR compliance this should be added to protect data that is sent by email or other delivery mechanisms.

    17 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 →
  6. Major Columnstore Performance Enhancement: ALTER INDEX REBUILD WITH (ORDER BY (ColumnA, ColumnB, ...))

    Greetings SQL Server Columnstore Team,

    SQL Server's columnstore performance is highly dependent upon rowsegment elimination. We have been working with mssql16 and competing product memsql to prototype a financial timeseries tick database. We were able to get mssql16 to outperform memsql, however, it took substantial data re-load engineering on our part that we think would be better made available in the ALTER INDEX REBUILD command.

    // sample schema:
    CREATE TABLE trades(
    SecurityID int,
    DateTimeKey datetime2(7),
    Price float,
    Size float,
    Source char(4),
    ConditionCode char(4)
    );

    In mssql16, we partition this table on the datetime2 field (quarterly partitions). Nearly all of our…

    17 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 →
  7. 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/OVER_Clause_and_Ordered_Calculations.doc
    The current feedback item addresses the OVER clause enhancement request - DISTINCT clause for aggregate functions, discussed in the paper…

    17 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…

  8. Eager Index Spools Should Generate Wait Stats

    In query plans where an Eager Index Spool is directly after a data access operator, wait stats should be generated while the Spool is built. In a parallel plan, EXECSYNC waits are generated, but in a serial plan, you don't see anything. Problem scenarios will become more common when FROID is released and adopted.

    I would not expect this to happen when a Lazy Index Spool occurs above a subtree.

    16 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 →
  9. Dark Theme in SSMS 2017

    I am new here. Using SQL server for maybe 1 year and I am really sad because you don't have the dark theme... I hope you will be available it soon, thanks :)

    i can do something like this: https://www.sqlshack.com/setting-up-the-dark-theme-in-sql-server-management-studio/, but it not as good as original :/

    16 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. sys.dm_os_sys_info/ms_ticks in Azure SQL DB

    It is often useful, when doing real-time activity monitoring, to be able to understand when workers are spending a long time sitting on the runnable queue after entering a wait state.

    This information is available in the on-prem product by using the sys.dm_os_workers DMV, which gives numbers in terms of "ms_ticks." Converting these ticks to actual clock time requires pulling an "ms_ticks" value from the sys.dm_os_sys_info DMV.

    Unfortunately, Microsoft pulled the latter DMV from Azure SQL DB, making this information completely inaccessible. And it would be quite useful there, especially when DTU throttling is taking place.

    My request is to…

    16 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 →
  11. The optimizer should considering materialising results of CTEs

    If you refer to a CTE multiple times in a query, SQL Server will in practice compute the CTE for every appearance. This means that in some situations as a user it is better for me to materialise the result into a temp table, and then run a query on a temp table. On the other hand there are situations where this adds extra overhead, and causes the entire batch to run slower.

    Below is an example with a query where a CTE/temp table is self-join three times. The idea of the query is to show the change in order…

    16 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: 25

    <=-=Jan 30 2011 2:35PM=-=>

    Adam Mechanic and I have asked for hints to force materialization (218968 and 483181); however, I’d settle for auto-magic from the optimizer!

    <=-=Jan 31 2011 9:30AM=-=>

    Thanks for the feedback, Erland. This is a known issue and we’ll consider it for a future release. It’s not something we’ll be able to do anything about for Denali RTM though. We appreciate your suggestion!

    Best regards,
    Eric Hanson
    Program Manager
    SQL Server Query Processing

    <=-=Feb 3 2011 11:26AM=-=> Thanks Michael! -Eric <=-=Jan 31 2012 10:21AM=-=>

    We closed this as a duplicate. -Eric

  12. Restore a table from a backup

    Hi Msft team!
    I'm writing to reccomending a new feature that will help us a lot! Every time that we have data issues (truncate or DML by accident) we need to restore the entire database or filegroup and that takes a lot of time! it will be awesome if you can add the posibility to restore a table from a backup or restore to a point in time directly from SSMS instead off the whole process.
    I hope this helps!
    Thank you!

    15 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 →
  13. Permit TRUNCATE TABLE when referencing tables are empty

    TRUNCATE TABLE is an efficient command to empty a table, as deallocates all extents and the extend allocation is all that is logged.

    However, its usefulness is reduced by the fact that you cannot use it when there are referencing foreign keys. In the general case, this makes sense, as if the referencing table has data, truncating the table is almost bound to cause a constraint violation. The exception is if all rows in the referencing table has a NULL value in the FK column, but verifying this could be expensive.

    However, you may want to use TRUNCATE TABLE on…

    15 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 →
  14. Performance of shredding the XML data type using nodes() / value().

    Performance of shredding XML to rows using nodes() and value() get linearly worse with the number of columns returned.
    The reason is that each column is handled by a separate branch of its own in the query plan.
    A nested loop join against a table valued function that returns the value.
    Comparing performance of shredding using nodes() with openjson I have seen that when there are three or more columns shredded,
    openjson is the clear winner.

    My suggestion is that you build a way of shredding XML similar to how it is done for shredding JSON.
    An openxml that can…

    15 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: 8

    <=-=Mar 4 2017 9:33AM=-=>

    We understand the problem. XML is designed differently and the goal was to provide rich query language with XPath support, which might require a lot of memory and processing logic. OPENJSON is designed to be more lightweight and just scan JSON text and return values where it finds them. There are pros and cons for both approaches (similar to pros and cons for DOM and SAX parsers).

    The key differentiators between JSON and XML is the fact that JSON is better for scan based processing of JSON columns where you just pick few values from JSON text, and XML is better for rich querying and indexing.

    I will keep this item open and let people vote for this; however, we cannot guarantee that this kind of re-design of XML will be done in near future.

    If you need to use shredded nodes in some…

  15. Sort order of Environment Variables in "Set Parameter Value" dialog of SSIS Solution

    When mapping Parameters to Environment Variables in the Configure screen of an SSIS project, the dropdown containing environment variables isn't sorted alphabetically. This makes finding the required variable difficult when working with large lists of values.

    15 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 →
  16. Add a "delete" option for JSON_MODIFY() to remove deleted keys instead of setting them to NULL

    Originally based on this Connect item: https://connect.microsoft.com/SQLServer/feedback/details/3120404

    The JSON_MODIFY delete functionality via NULL works inconsistently. On properties, NULL removes the item from the JSON completely. On arrays, NULL nullifies the value but does not remove it from the array.

    Example:
    -- Our JSON data with three properties:
    DECLARE @data nvarchar(100) = JSON_QUERY('{ "Property1" : "A", "Property2" : "B", "Property3" : "C" }')
    -- Output: { "Property1" : "A", "Property2" : "B", "Property3" : "C" }

    -- Deleting the second property with NULL completely removes it from our JSON:
    SELECT JSON_MODIFY(@data, '$.Property2', NULL)
    -- Output: { "Property1" : "A", "Property3" :…

    15 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: 10

    <=-=Apr 10 2017 4:40AM=-=>

    Thanks for the feedback. We agree with your proposal and this request is in our backlog. We will let people to vote for this. Also feel free to report any other option that you find useful. Note that we cannot commit when this request ill be implemented, because it depends on the number of votes and schedule.

  17. Let Resource Governor control tempdb usage

    On a system with many different systems and ad-hoc requests it is not enough
    to control memory and cpu. Even RG can control IO too, it's not much help if IO is not the bottleneck on fast SAN.
    But crazy code can results in hundreds of Gb's tempdb usage.
    I would like to define particular resource group only to consume limited amount of tempdb (quota).
    tempdb is shared resource and scale-out (on other servers) not is an easy task, if the system not was designed that way from the beginning.

    15 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 →
  18. Relax restriction that table parameters must be readonly when SPs call each other.

    I was excited when I heard that Katmai would have table parameters, but I was
    equally disappointed to hear that they would be readonly. Today programmers
    employ various tricks to pass table data between stored procedures - or give up
    and use cursors to call procedures row by row.

    While only readonly table parameters is useful when passing data from client to
    server, they are of little use when stored procedures call each other.

    For a longer discussion why read-write table parameters are essential, see
    http://www.sommarskog.se/tableparam.html where I discuss the topic in more
    detail, and argues more strongly than the…

    15 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: 337

    <=-=Oct 1 2007 2:40AM=-=>

    I could not agree less.This is more of ‘SHOULD HAVE’ and every T-SQL developer would love SQL server even more should this be implemented.

    <=-=Oct 4 2007 2:22PM=-=>

    I agree. Microsoft, if you’re listening, please implement this!

    <=-=Oct 10 2007 7:33AM=-=>

    I think it is very important.

    Alex Kuznetsov,
    SQL Server MVP

    <=-=Oct 22 2007 2:25AM=-=>

    I agree. It would be a very nice and powerfull feature in SQL server 2008.

    <=-=Oct 22 2007 5:57AM=-=>

    Unless there is a very good reason not to, I urge you to implement it, it would be very useful.

    <=-=Nov 4 2007 11:40AM=-=>

    TVPs should definitely not be limited to being read-only. Without updateability, they will be perceived as an “impaired” new feature. As lead author in the upcoming Programming Microsoft SQL Server 2008 book by MS Press, I urge the SQL team to support…

  19. begin of month function

    We now have the EOMONTH function the give us the end of the month, which is a fantastic addition and it saves us quite some typing in date logic. However, it would be nice to also have a BOMONTH function for the start of the month. Right now we have to do the following:

    DATEADD(DAY,1,EOMONTH(GETDATE(),-1))

    This expression can be replaced by one simple function call: BOMONTH(GETDATE())

    14 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 →
  20. Use gMSA accounts for everything

    Currently gMSA accounts can be used as Windows Service accounts for SQL Server. gMSA you never have to provide the password just the account name for approved devices. It would be nice if you could also use gMSA accounts for SQL Server Credentials for SSIS Jobs. For SSRS Data Connectors to a database. Essentially it would make things more secure than using a traditional "Service Account" that we put into a data source or credential and never update the password. The password is saved in some document somewhere. Same accounts being used for multiple purposes. By using a gMSA account…

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

SQL Server

Feedback and Knowledge Base