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

    329 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

      under review  ·  59 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
    • 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…

      302 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        15 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
      • Database Level Option For Storing Wait Stats

        SQL Server 2016 introduced Query Store, and SQL Server 2017 CU3 brought us aggregated wait stats at the query level. This is great information for data driven DBAs who need to be able to track plan changes over time, etc.

        With that in mind, an additional data collector for wait stats per database would be a great product feature, independent from Query Store data collection.

        We all know the limitations of the wait stats DMVs now:

        - They're cumulative over time
        - They're instance-wide
        - There's a lot of potential noise from wait types that aren't registered

        If you wanna…

        216 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          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 →
        • Explain why indexes were skipped

          Feature request: expose information about what indexes the optimizer considered while compiling an execution plan. Specifically, the index names and WHY the index was rejected for that particular query. This could potentially be included in per-operator execution plan properties (see attached mockup), an extended event target, or some other avenue.

          Reason: many developers and DBAs wonder why certain indexes on their tables aren't being chosen for specific queries. This gives them better tools to figure that out and make better use of the SQL Server product.

          I've blogged about this feature request in more detail here: http://joshthecoder.com/2018/06/21/feature-request-index-rejection-reasons.html

          This request was…

          110 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            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 →
          • Dark Theme for SQL Server Management Studio 2017 (SSMS 2017)

            Dark Theme works well in Visual Studio and should be included in SSMS. It helps reduce eye strain after long periods of development and debugging.

            316 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              unplanned  ·  19 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
            • Add a Keyboard Shortcut that Executes the Statement where the Cursor is placed

              Having to select statements by clicking and holding the mouse is just bad ergonomics. Request to have a keyboard shortcut which runs the current sql statement. The current sql statement is defined based on where the cursor is placed. For example, proposed shortcut runs only runs a single sql statement to the next semicolon. This shortcut would be an equivalent to Oracle's SQL developer's ctrl + enter shortcut. Note that this is probably the most used shortcut in SQL Developer and not having an equivalent on SQL Server Management Studio is disappointing. I know that not everyone ends their statements…

              278 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

                9 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
              • Add SSIS to the SQL Server Docker Image

                I work for a large bank which it trying to move hundreds of SSIS packages into GitLab pipelines. This task would happen faster an easier with SSIS on the MS SQL Server Docker image.

                46 votes
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  under review  ·  1 comment  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
                • develop a SSRS ReportViewer for ASP.NET Core

                  Develop a SSRS ReportViewer for ASP.NET Core

                  177 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    under review  ·  29 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                  • 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'

                    33 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      6 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                    • adomd core

                      ADOMD.NET Client Needs .NET Core Support

                      Please tell us when this will be available. We've been waiting years, and all ADOMD.NET does is XML over HTTP - it's pretty silly that there's no support for clients running on .NET Core!

                      25 votes
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

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

                        29 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                        • Add FOR CSV to facilitate CSV export

                          We have FOR XML and FOR JSON. But it is not uncommon that people want to produce CSV files. This can be done with BCP, but it is not straightforward not the least if you want to add headers. And if you only want fields to be quoted when needed, BCP is not really what you are looking for. SSIS is also an alternative, but SSIS does not always fit in.
                          Thus, it would be handy if there was a an option like FOR CSV, with a syntax like:
                          FOR CSV [, HEADERS] [,DELIMITER(',')] [, QUOTE('"')]

                          HEADERS would mean that…

                          252 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            under review  ·  10 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                          • SQL Server basic availability groups should support more than 1 database

                            SQL Server Basic Availability Group should allow N number of databases to be supported. Currently this feature supports two replica's which is fine, but only support one database to part of the basic availability group. As always-on is strategic offering for availability and has been around since SQL 2012, the basic availability group feature in standard edition should allow more than 1 database. I would suggest N databases or whatever the Always-on technical limit is.
                            https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups?view=sql-server-2017
                            Other database vendors offer such feature outside of enterprise edition.

                            14 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
                            • Easier identification of Implicit Transactions

                              Lots of ORMs let developers choose to enable implicit transactions, but there's no easy way to identity them without:

                              1. Running Profiler
                              2. Using the existing_connection XE session

                              Though it's a SET option, it's not included in the plan XML where SET options are identified, nor is it in sys.dm_exec_plan_attributes or sys.query_context_settings.

                              Using implicit transactions haphazardly can lead to some pretty nasty blocking chains. It should be much easier to identify when they're in use.

                              Thanks!

                              141 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                under review  ·  5 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                              • 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:
                                -…

                                11 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  1 comment  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                • Key Lookup against Columnstore Index Causes Slow Query Execution

                                  On tables with a clustered columnstore index and a b-tree index on the same table, some parameter sets get an execution plan with an index seek against the b-tree, and then key lookup (in row mode) against the columnstore. This is extremely expensive, and most of the queries against larger columnstores never complete. The remedy is to hint the columnstore index in the query. I can supply plans as needed, but apparently can't upload here.

                                  12 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    0 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Put Debugger back into SSMS 18

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

                                    11 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Replication and Availability Groups with per database DTC support

                                      In SQL Server 2017, when using Availability Groups with Per-Database DTC Support enabled, you are unable to configure replication.

                                      The error received is:
                                      Msg 3933, Level 16, State 1
                                      Cannot promote the transaction to a distributed transaction because there is an active save point in this transaction.

                                      By design, per db DTC support does not allow save points. However, Replication system stored procedures make extensive use of save points. As a result, this creates a conflict where you cannot have a database in an AG with both Replication and per DB DTC support.

                                      As a workaround, you must disable per…

                                      81 votes
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        under review  ·  7 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Potential bug in sql Microsoft SQL Server 2017 (RTM-CU5) (KB4092643) - 14.0.3023.8 (X64)

                                        create table #data (JobHistoryId2 int, jobName varchar(100) )
                                        create table foo (JobHistoryId int, jobName varchar(100))
                                        insert foo values(1,'one'),(2,'two')
                                        insert #data values(1,'one')
                                        begin tran
                                        delete from foo where JobHistoryId in (select JobHistoryId from #data)
                                        select count(*) from foo -- deletes all data but the statement (select JobHistoryId from #data) has an error.
                                        rollback tran

                                        4 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          4 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Auditing with in-memory tables are not supported with DDL triggers

                                          There is big struggle for implementation of DDL auditing on the in-memory databases.

                                          In our case, we have partially implemented auditing on in-memory OLTP databases, but still a lot of functionality is missing to be on par with our auditing for non-inMemory OLTP databases.

                                          Looking from Microsoft to fix this.

                                          8 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            1 comment  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 433 434
                                          • Don't see your idea?

                                          SQL Server

                                          Feedback and Knowledge Base