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. Add support for Row Pattern Recognition in T-SQL (SQL:2016 features R010 and R020)

    The ISO/IEC 9075:2016 standard (aka SQL:2016) introduces support for Row Pattern Recognition (RPR) in SQL. Similar to using regular expressions to identify patterns in a string, RPR allows you to use regular expressions to identify patterns in a sequence of rows.
    To me, it's the next step in the evolution of window functions. If you think that window functions are profound and useful, RPR is really going to bake your noodle.
    RPR has limitless practical applications, including identifying patterns in stock market activity, handling time series, fraud detection, material handling, shipping applications, DNA sequencing, gaps and islands, top N per…

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

    We’ll send you updates on this idea

    7 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  2. SSMS Crash when dragging table from Object explorer into new query window

    Have just installed this version v18.1 and everytime I drag a table from Object explorer into new query window SSMS crashes, I have to kill it.
    I have no add-ins installed, have rebooted since installing.

    O/s Win 10 15063.1387

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

    We’ll send you updates on this idea

    49 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add support for standard nested window functions in T-SQL

    The ISO/IEC SQL:2016 standard defines a concept called nested window functions that allows you to nest two kinds of window functions as an argument of a window aggregate function. The idea is to allow you to interact with row markers representing strategic points in windowing elements like the beginning or end of the partition, beginning or end of the frame, the current outer row, and the current inner frame row.
    The two standard nested window functions are the nested row number function and the nested value_of expression at row function.
    The former allows you to refer in an argument of…

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

    We’ll send you updates on this idea

    5 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  4. SSMS 18.0 redraw issues when switching between multiple query windows

    SSMS 18.0 redraw issues when switching between multiple query windows

    Repro:
    1. Open SSMS
    2. Open a new query window and enter and execute a command, such as:
    SELECT @@SPID;
    3. Open a second query window
    4. Using your mouse, switch back and forth between the two open query windows by clicking on their tabs.
    5. After several clicks (five to ten?), the content of the first window (query and result pane) may appear to be displayed in the second window, but you can't interact with any of the text.
    6. Switching back and forth a few more times may…

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

    We’ll send you updates on this idea

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

    Thanks everybody for providing the list. I’ve passed the info to the Visual Studio Team.

    In the meanwhile, I have 2 more requests:
    1) If you happen to have Visual Studio 2017 (version 15.9.11 or greater), could you check and see if it shows the same behavior?
    2) If you happen to have SSMS 17.9.1 on the same machine, could you check and see if it shows the same behavior?

    I’m hearing from folks here that “changing SSMS such that it disables h/w acceleration by default” is not a recommended thing to do… However, quite honestly, at this point, it may be the only option I can think about.. :-(

    -Matteo

  5. Database Diagrams

    Please add Database Diagrams back in SQL SERVER Management Studio

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

    We’ll send you updates on this idea

    36 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  6. Put Debugger back into SSMS 18

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

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

    We’ll send you updates on this idea

    76 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  7. Unable to deploy SSIS packages from Visual Studio 2017 (15.8.0)

    The latest version of Visual Studio 2017 (15.8.0) appears to have introduced a bug preventing deployment of SSIS project files.

    When attempting to connect to a server the deployment wizard returns the following error:

    TITLE: SQL Server Integration Services
    ------------------------------

    Could not load file or assembly 'Microsoft.SqlServer.Management.IntegrationServicesEnum, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) (mscorlib)

    ------------------------------
    ADDITIONAL INFORMATION:

    The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) (mscorlib)

    ------------------------------
    BUTTONS:

    OK
    ------------------------------

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

    We’ll send you updates on this idea

    under review  ·  85 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  8. Wrong Results When Selecting SQLServer2016 JOIN DATETIME2(3) with DATETIME

    I'm getting unexpected results when joining between DATETIME2(3) column to DATETIME column with PK , in SQLServer 2016.

    The details are :

    I have the following table:

    CREATE TABLE DATETIME_TEST (
    [DATETIME] DATETIME NOT NULL,
    [DATETIME2_3] DATETIME2(3));
    ALTER TABLE DATETIME_TEST ADD CONSTRAINT PK_DATETIME_TEST PRIMARY KEY ([DATETIME]);
    INSERT INTO DATETIME_TEST
    ( [DATETIME],[DATETIME2_3])
    VALUES
    ('20020202 02:02:02.000', '20020202 02:02:02.000' ),
    ('20020202 02:02:02.003', '20020202 02:02:02.003' ),
    ('20020202 02:02:02.007', '20020202 02:02:02.007' ),
    ('2019-04-28 07:23:29.447', '2019-04-28 07:23:29.447' )
    ;

    SELECT * FROM DATETIME_TEST WHERE CONVERT(DATETIME2(3), [DATETIME]) = [DATETIME2_3]
    The results :

    DATETIME DATETIME2_3
    2002-02-02 02:02:02.000 2002-02-02 02:02:02.000
    2002-02-02 02:02:02.003 2002-02-02 02:02:02.003
    2002-02-02 02:02:02.007 2002-02-02 02:02:02.007
    2019-04-28…

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

    We’ll send you updates on this idea

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

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

    We’ll send you updates on this idea

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

  10. SSMS 18.1 Crashes when Opening a Database Diagram

    SSMS 18.1 crashes (and restarts) when opening a database diagram without any error message.

    I have created several diagrams from scratch thinking it might have to do with old formatting, but this does not appear to be the case.

    You can edit a diagram (adding dozens of tables) with no problem. It is the opening of the diagram that results in the crash.

    Latest bits for SSMS and SQL Server 2017 installed today.

    SQL Server Management Studio 15.0.18131.0
    Microsoft Analysis Services Client Tools 15.0.1347.0
    Microsoft Data Access Components (MDAC) 10.0.18362.1
    Microsoft MSXML 3.0 6.0
    Microsoft Internet Explorer 9.11.18362.0
    Microsoft .NET…

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

    We’ll send you updates on this idea

    10 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  Matteo Taveggia responded

    Thanks for the suggestion. We’ll take a look at it and prioritize accordingly.

    Thanks,
    -Matteo

  11. Update produces impossible result

    The following produces an illogical result:

    DECLARE @Target table
    (
    c1 integer PRIMARY KEY,
    c2 integer NOT NULL,
    c3 integer NOT NULL
    );

    DECLARE @Source table
    (
    c1 integer NULL,
    c2 integer NULL,
    c3 integer NULL,

    INDEX c CLUSTERED (c1)
    );

    INSERT @Target
    (c1, c2, c3)
    VALUES
    (1, 0, 0);

    INSERT @Source
    (c1, c2, c3)
    VALUES
    (1, 2, NULL),
    (1, NULL, 3),
    (1, 4, 4);

    UPDATE T
    SET T.c2 = S.c2,
    T.c3 = S.c3
    FROM @Target AS T
    JOIN @Source AS S
    ON S.c1 = T.c1;

    SELECT * FROM @Target AS T;

    Result:

    c1 c2 c3
    1 2 3

    The…

    27 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 →
  12. Optimise for Analytics configuration option

    Would love to have a new Server-Wide as well as the Database Scoped Configuration configuration that would be called "Optimise for Analytics" and that would server the purpose of tuning the Storage Engine & Query Processor specifically for the Analytical Workloads (Business Intelligence, Data Warehousing, Data Preparation for ML, etc).

    The actual functionalities to be controlled by this option would be such as: -E configuration, Query Optimiser huge preference for the Hash Joins, Bigger preference for the Batch Execution Mode for the Rowstore tables, Bigger preferences for the Scans and Prefetching for the Storage Engine, Bigger Columnstore Object Pool allocation…

    109 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. Run DBCC CHECKDB WITH PHYSICAL_ONLY automatically in the background

    When RAID controllers are idle, they automatically check the storage to make sure it's still okay. Why not SQL Server too?

    Some of the pieces are there – for example, SQL Server already has the ability to watch for idle CPU times and run Agent jobs when it’s bored. For starters, that’d probably be good enough to save a lot of small businesses from heartache. For the databases over, say, 100GB, it’d be really awesome to have resumable physical_only corruption checking – tracking which pages have been checked (just like how the differential bitmap tracks page changes), with page activity…

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

    We’ll send you updates on this idea

    16 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  14. Eager Index Spools Should Generate Missing Index Requests

    In query plans where an Eager Index Spool is directly after a data access operator, a missing index should be generated in the query plan, and/or missing index DMVs that describes the definition of the index needed to make the spool unnecessary.

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

    29 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 →
  15. 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 →
  16. Option to specify a location for the DBCC CHECKDB snapshot

    When you run DBCC CHECKDB, by default the snapshot is stored on the same drive as the database data file(s).

    It would be nice to be able to specify the location, if you have

    - Faster drives elsewhere
    - No space on the same hard drive
    - Less I/O traffic elsewhere

    105 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 →
  17. Database diagrams on new release 18 not work

    I installed SSMS 18.0 and cannot find Database diagrams folder. It is just missing. Where is the problem?

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

    We’ll send you updates on this idea

    53 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  18. Support DISTINCT for STRING_AGG

    Currently STRING_AGG aggregates all strings passed as an input. It would be very useful to support DISTINCT, so it would concatenate unique strings only.

    Example:
    CREATE TABLE dbo.Test (a VARCHAR(255))
    INSERT INTO dbo.Test (a)
    VALUES('Str1')
    ,('Str2')
    ,('Str1')

    SELECT STRING_AGG(a, ',') FROM dbo.Test t

    It returns: 'Str1,Str2,Str1'

    SELECT STRING_AGG(DISTINCT a, ',') FROM dbo.Test t

    It would return: 'Str1,Str2'

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

    40 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 →
  20. 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 →
← Previous 1 3 4 5 476 477
  • Don't see your idea?

SQL Server

Feedback and Knowledge Base