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.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. 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.

    46 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 →
  2. Ability to upgrade SQL Server Management Studio directly from About menu

    I think it will be really cool to update the management studio directly from the about menu when it is open and also it for checking for new versions and notify us.

    Thanks in advance

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

    We’ll send you updates on this idea

    4 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →

    We have a “Check for updates link” in the Tools menu today, and SSMS prompts you to upgrade when it detects a new version unless you have turned off auto-check for updates. We have no plans to further automate these updates. We are pushing more updates through WSUS for enterprise installations.

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

    43 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…
  4. The Scalar Expression function would speed performance while keeping the benefits of functions.

    SQL Server scalar User-Defined Functions (UDFs) have a performance problem that could be solved with an enhancement to the SQL Server database engine. Because SQL Server must execute each function on every row, using any function incurs a cursor like performance penalty.� However, since many UDFs are simple, they can often be converted to a single expression.� This suggestion proposes that a new type of UDF, the Scalar Expression UDF, be added to SQL Server.� Doing so would often eliminate the performance penalty paid when using scalar UDFs and allow them to be used more widely.� Using UDFs has the…

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

    <=-=Oct 11 2007 4:28AM=-=>

    ANS SQL 99 actualy defines a syntax (section 11.49) for function definition that can be used for an inline scalar function (body consisting of a single RETURN statement) – inlining being an implementation rather than a definitional issue. There are other database products (e.g. IBM DB2 UDB) that already support this, so going the ANS way would assist portability.

    The enhancement is clearly necessary.

    <=-=Oct 11 2007 8:45AM=-=>

    In other programming languages, this might be a macro expansion, where an include file contains the macro, which expands into inline code at compile time. (I believe that this was discussed as a possibility in the very early days of Yukon.) In any case, however implemented, Inline Scalar UDF would be a major improvement over the speed-bump that exists now.

    I was going to post this myself, but happily add my vote to the existing…

  5. SSMS 18.0 GA can't be installed

    When I'm trying to install SSMS 18.0 GA, I get error: "SSMS can only be upgraded by installing the package of the matching language. Please, use the matching version of the installer, or uninstall the current version of SSMS and run SSMS setup again." And I'm not alone: https://social.technet.microsoft.com/Forums/en-US/16d0e279-6ff4-4d5f-ad0a-5039235f03b9/ssms-2018-setup-blocked?forum=sqltools

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

    We’ll send you updates on this idea

    28 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →

    I’m looking into this issue.

    In the meanwhile, could you take a look at the SSMS setup logs (%TEMP%\SSMSSetup\SSMS-Setup-ENU_20190430231104.log). I’m interested in the lines in the range 133-216. Could you share those (tip: have a look at the lines and sanitize them, if you think they may contain sensible information?

    Also, if you could share the output of:
    reg query “HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio” /reg:32 /s

    And, finally, to unblock yourself:
    1) Make sure you don’t have any previous version (RC, Preview) of SSMS 18.0 installed (check Add/Remove programs; if you do, uninstall it)
    2) Make sure “C:\Program Files (x86)\Microsoft SQL Server Management Studio 18” does not exist (if it does, the delete it)
    3) Delete the mentioned registry key (e.g. by running from an elevated cmd prompt:
    reg DELETE “HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server Management Studio” /reg:32)
    4) Retry setup
    Please, let…

  6. Change Tracking auto cleanup error 22123

    Just upgraded to 2016 SP2 (13.0.5026.0) and receiving frequent error messages logged from change tracking auto cleanup: Error 22123, severity 16, state 1 Change Tracking autocleanup is blocked on side table of "<***>". If the failure persists, check if the table "<***>" is blocked by any process . Routinely for different tables, not repeatedly from the same table.

    I suspect this was added as part of the changes to auto cleanup released in SP2, and is raised when a table is blocked and marked for retry. Can anyone please confirm this?

    Additionally, this seems to me like more of an…

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

    We’ll send you updates on this idea

    under review  ·  18 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  7. SQL Server vNext (post 2019) and NoSQL functionality

    Hello,

    This is an invitation for discussion to the SQL Server engine team and the community.

    IMHO, SQL Server vNext (post 2019) should beef up its NoSQL functionality.
    Specifically, its XML APIs.
    This area is dormant since 2005/2008 release.

    SQL Server currently supports the following:
    - a subset of XQuery 1.0, circa 2007
    - a subset of XPath 2.0, circa 2007
    - XSD 1.0 circa 2001

    The current w3c standards:
    - XQuery 3.1
    - XPath 3.1
    - XSD 1.1 circa 2012

    Everything is in place, even current support for the UTF-8 encoding in 2019.

    Famous Obamacare is implemented by using…

    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 →
  8. 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 →
  9. Dark theme in SSMS 18 should extend to all windows/panels

    SSMS 18 Preview has a dark theme, but it doesn't extend to all of the windows/panels (Object Explorer and Template browser to name a few). The contrast is glaring, and hopefully this is something that is addressed either for the next preview or at least by GA.

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

    We’ll send you updates on this idea

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

    39 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 →
  11. OPENROWSET T-SQL and MOLAP provider fail on complex DAX statements

    Running the OpenRowSet (SQL2016) against a SSAS 2017 on-premise or Azure SSAS will fail with error

    OLE DB provider "MSOLAP" for linked server "(null)" returned message "OLE DB error: OLE DB or ODBC error: An unexpected exception occurred.."

    T-SQL Statement:

    SELECT *
    FROM OpenRowset('MSOLAP','DATASOURCE=<Servername>;Initial Catalog=<cube>;User ID=<userid>;Password=<password>’,
    '<DAX STATEMENT>’)

    Running the DAX directly against SSAS (2017) returns the correct results, also the OpenRowSet command works fine in SSAS 2016 using the same DAX statement.

    Bug maybe due to the properties differences in the OpenRowSet implementation rather than the MOLAP provider (these are the XML properties included in the MDX query to…

    38 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  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  12. 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.

    38 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: 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…

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

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

    We’ll send you updates on this idea

    6 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  14. SMO Enumerations slow with hundreds of databases

    SMO Enumeration is notoriously slow, especially if a SQL Server contains hundreds or thousands of databases. This is impacting our project and we have to get around it by creating new objects that are populated by T-SQL.

    I know this is a known issue. Can it be revisited?

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

    We’ll send you updates on this idea

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

    Hi, thanx for the feedback.
    As Ben points out, if you know which fields on the Database object you need, you can use Server.SetDefaultInitFields to make sure the collection is initialized with all those fields in the first query.

    Is there a particular scenario, using the latest SMO NuGet, where use of SetDefaultInitFields isn’t sufficient to speed up the query noticeably?
    If you have an Intellitrace or XEvents trace I could use for reference it’d be a great help.

  15. Trigger symbol on tables and views in object explorer

    In SSMS Object Explorer, you can find DML triggers by expanding the table (or view) and then expanding the Triggers node. That is fine.
    However, it would be great to have a visual indication, as a kind of warning, on the table or view symbol. This symbol should only appear on tables and views that have one or more active triggers
    My suggestion for the symbol would be a lightning bolt (similar to the icon used for the actual triggers). Preferably in red.

    35 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 →
  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…

    34 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 →
  17. 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.

    34 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: 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.

  18. STRING_SPLIT Add Option to Return Row Number

    It would be really handy if the STRING_SPLIT function had an option/switch to return the row number in order to be able to use other windowing functions on the resultset.
    I found I still had to result to a CTE effectively making my own string splitting function which included the row number to then be able to apply other windowing functions such as a running total.

    This code helps to highlight the issue. In trying to apply a running total the results have to be ordered and the position of Susan and Michael is switched. Had a Row Number field…

    34 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 →
  19. 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…

    33 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  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  20. 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…

    33 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: 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…
  • Don't see your idea?

Feedback and Knowledge Base