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. SSMS 2016 does not remember added SQL Snippets folder

    You can add your own snippets in SSMS bij using the Code Snippet Manager.
    In the Code Snippet Manager window you have the possibility to add a folder containing customer snippets by using the "Add..." button.
    This works fine as long as you're not closing SSMS. After restarting SSMS you have to add the folder again because it is no longer available in the snippets.

    32 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    22 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  2. Put Debugger back into SSMS 18

    The SSMS Debugger is critical for debugging complex T-SQL Queries, please return it to SSMS 18

    31 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    8 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  3. Tempdb spill columns in sys.dm_exec_query_stats should account for batch mode operator spills

    I am testing against SQL Server 2017 RTM-CU4. As far as I can tell, only tempdb spills associated with row mode operators are tracked in the new columns for tempdb spills in sys.dm_exec_query_stats: last_spills, total_spills, max_spills, and min_spills. Spills for batch mode operators are not included. None of the documentation that I can find mentions this as a limitation, so I assume that this is a bug.

    Batch mode execution brings additional challenges around memory grant management and tempdb spills are common for the workloads that I look at. Adaptive query memory feedback is not always sufficient to resolve all…

    31 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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.

    31 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  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…

  5. Allow Asymmetric Key to be created from binary hex bytes string just like CREATE CERTIFICATE (SQLCLR / SSDT / Module Signing)

    Creating an Asymmetric Key (for the purpose of creating an associated Login to provide { EXTERNAL ACCESS | UNSAFE } ASSEMBLY permission for SQLCLR Assemblies and hence avoid setting TRUSTWORTHY ON) requires a file or EKM provider or Assembly. Prior to SQL Server 2017 it was at least possible to load an Assembly (marked as SAFE) that is signed with the same private key into [master] to then create the Asymmetric Key from, and then drop the Assembly.

    But, with SQL Server 2017, ALL Assemblies will require being signed with a matching key / cert -based Login having the UNSAFE…

    31 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  6. 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.

    30 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  7. SQL 2017 CU7 - using In-Memory OLTP table variable inside MSTF causes error

    The code from attached file causes error as:
    Msg 3628, Level 16, State 1, Line 39
    The Database Engine received a floating point exception from the operating system while processing a user request. Try the transaction again. If the problem persists, contact your system administrator.

    29 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  2 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  8. Removing dependency of MDS on SilverLight.

    Removing dependency of MDS on SilverLight.
    This dependency is preventing MDS from being used outside of POCs.

    29 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  3 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  9. Identical symmetric keys do not work between SQL Server 2017 and other SQL Server version

    hi everybody!

    I believe, there is a general product issue in SQL Server 2017. The problem concerns encrypting & decrypting data using the same symmetric key on different servers.
    I have an issue in SQL Server 2017 CU3 (version 14.0.3015.40). I need to create identical symmetric keys on two servers of different versions, as it is described in MS article:

    https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/create-identical-symmetric-keys-on-two-servers

    These steps work well within and between different versions of SQL Servers (2012, 2014, 2016), but not between SQL Server 2017 and any other server.
    I can create identical symmetric keys on SQL Server 2012, 2014 and 2016. So…

    29 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  12 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  10. Please create a redistributable command-line equivalent for SSMS -> Extended Events -> Export

    We've created a .NET C# based export for XEL to CSV using QueryableXEventData but it takes 4 minutes to export a 1GB file. In SSMS, clicking Extended Events -> Export -> CSV takes 45 seconds for the same file.

    Unfortunately, interative SSMS is required, so the process cannot be automated. Please create a command-line executable so we can automate the export at the delicious speeds of SSMS.

    Also, if the NULL can be removed from output in both SSMS and the command line tool, that would be far better.

    29 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  11. [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…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  12. Window Functions (OVER Clause) - Reuse of Window Definitions with WINDOW Clause

    This item is related to: https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=254391, only the former suggestion wasn't standard whereas the current one is. Therefore the current is preferred.

    With several window functions that rely on the same window definition (or part of it), there's a lot of repetition of code. Standard SQL has a clause called WINDOW that allows naming a window definition or part of it, making it reusable.
    For example, instead of:

    SELECT empid, ordermonth, qty,
    SUM(qty) OVER ( PARTITION BY empid
    ORDER BY ordermonth
    ROWS BETWEEN UNBOUNDED PRECEDING
    AND CURRENT ROW ) AS run_sum_qty,
    AVG(qty) OVER ( PARTITION BY empid
    ORDER BY…

    28 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    Upvotes: 173

    <=-=Sep 27 2010 2:23PM=-=>

    Hi Itzik,
    Thanks for your feedback on WINDOW clause. We will consider it for a future version of SQL Server.


    Umachandar, SQL Programmability Team

    <=-=Mar 21 2011 8:27PM=-=>

    I’m currently migrating an established application from another database platform to SQL Server. There’s a big, powerful chunk of the app missing due to the absence of the WINDOW clause functionality.

    I wouldn’t even want to think of how to implement this type of processing in SQLCLR, if that’s even possible.

    And if WINDOW is standard SQL, shouldn’t it be included in the Microsoft product? Competitors have it.

    <=-=Mar 2 2012 1:18PM=-=>

    Reuse of Window Definitions with WINDOW Clause
    This has been rolled up into our “Window Aggregates Enhancements” DCR for future consideration. Thank you for reporting it. All the information you provided has been captured for future reference.

    Thanks,
    Marc Friedman

    <=-=Nov…
  13. 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.

    28 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 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.

  14. Restore CTRL-D shortcut for ResultsToGrid in SSMS

    In SSMS 18 Preview 4, the default binding have changed to Edit.Duplicate lines, quoting https://feedback.azure.com/forums/908035-sql-server/suggestions/32896594 as a the motivation.

    CTRL-D has been bound to ResultsToGrid, for almost 20 twenty years (that is since Query Analzyer came out in SQL 7.) That is engraved in many people's minds.

    Yes, I can change the key binding, but so can people who prefer to use it to duplicate lines.

    Please restore the original default. It does not serve the community to change existing bindings.

    27 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

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

    Note: this is a behavior that is only observed in SSMS 18.0 Preview 4.

    It turned out that the migration to the new VS2017 Shell in SSMS 18.0 ended up changing the binding for the CTRL+D, which accidentally was a request from a few other users.

    Due to popular demand (and also to preserve the old behavior), I’m going to bring back CTRL+D and have it bound to the ResultToGrid in the Query Editor.

    I’m going to bind the “Edit.Duplicate” to CTRL-K, CTRL+V, which is consistent with the current VS2017 behavior.

  15. 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…

    27 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  16. Azure AD authentication in Import Export wizard in SSMS

    Ssms 2017 doesn't have the capability to use Azure AD authentication in Import/Export wizard.
    We have stopped providing Sql authenticated users to support people, we are using AD authentication which works seamlessly. However there is one more place in SSMS which requires the functionality.

    When users try to use import export wizard they dont have possibility to use Azure AD authentication instead they need to use a SQL authentication which completely ruins our security setup and going back to the old way of accessing Azure Sql db.

    Can the SSMS team add this little functionality so that it does in…

    27 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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 error_message, error_number 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 message that…

    27 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  18. dont remove debugging from ssms 18.0

    what is ssms:

    SSMS is an integrated environment for managing any SQL infrastructure, from SQL Server to Azure SQL Database. SSMS provides tools to configure, monitor, and administer instances of SQL. Use SSMS to deploy, monitor, and upgrade the data-tier components used by your applications, as well as build queries and scripts.

    --> build queries and scripts

    if you remove debugging from ssms --> https://cloudblogs.microsoft.com/sqlserver/2018/10/03/ssms-18-0-public-preview-released/

    ssms will be degraded to an simple editor with some nice helpers to write sql but not an integrated enveronment to write scripts and common database objects.

    every developer will write good and working code,…

    26 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    4 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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 sp_estimate_data_compression_savings is not available yet. The error message is:

    Msg 534, Level 16, State 1, Procedure sp_estimate_data_compression_savings, Line 20 [Batch Start Line 14]
    'sp_estimate_data_compression_savings' 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.

    26 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    3 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  20. Microsoft Command Line Utilities 15 for SQL Server fails to recognize pre-requisite ODBC 17

    SQLCMD docs state that Command Line Utilities 15 requires ODBC 17 (https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-2017). However, the actual Command Line Utilities 15 installer does not recognize a previously installed ODBC 17.

    Installing ODBC 13 will allow the Command Line Utilities 15 installer to complete successfully, but we end up with errors later presumably due to the Command Line Utilities 15 actually requiring OBDC 17 functionality. Installing both versions 13 and 17 seems to get around this, but obviously requires installation of both packages.

    Our server for testing this is a 64 bit Windows 2008 R2 Enterprise with SP1.

    Repro steps:
    -…

    25 votes
    Sign in
    (thinking…)
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    6 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

SQL Server

Feedback and Knowledge Base