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. Have SSMS respect a Resource Lock

    When I set a lock on the Resource Group where my Azure SQL Server and DB reside - I can still delete the DB using SQL Server Management Studio This action should at least generate a prompt in SSMS indicating a Resource Lock has been set

    5 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 →

      SSMS doesn’t know anything about Azure resource groups at this time. I suspect the lock only applies to the ARM REST API. Perhaps this suggestion should be copied over to Azure SQL Database; they could check for this lock on the server side and fail the TSQL query.

    • Please discontinue the use of italics in the Filter textbox in DocumentDB DataExplorer

      Extremely poor UI design and UX - please implement plain fixed-width font to assist with SQL coding

      1 vote
      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 →
      • Can we make MySQL and SQL using local time zone like China Standard Time?

        Can we make MySQL and SQL using local time zone like China Standard Time?

        1 vote
        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 →
        • THIS IS OUR IDEA AT THE UNIVERSITY OF WESTERN AUSTRALIA AND HARVARD BY A POST-DOCTORAL STUDENT WHO HAS ALWAYS WANTED MORE... I STILL DO.

          Information Systems software coding for a proprietry Learning Management System (LMS) with complete integration and stringent Active Directory hybrid CISCO Systems/IEEE port map stack to route The University of Western Australia and Harvard University from a hardware SQL Server with RAID-configured Virtual SQL Servers in the cloud-hybrid Multipoint-protocol virtualisation of a composite Internet of Things (IoT) to relay packet signals in real-time with Hbb Broadcasting frequency signals routed through ezy-proxies and our respective Universities for Institution-wide, minimal labour hour information systems administration to maximise positive outcomes of student, faculty, library and student administration for protocol pedagogy and intranet-directed Strategic Management…

          1 vote
          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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
          • SSDT for Visual Studio 2017 - Include as part of the VS 2017 Installer

            Can we please pass over the SSDT components to the Visual Studio team so this can be included as part of the Visual Studio 2017 installation process?

            The VS team can then build out the installer in a way that SSDT is always compatible with their latest build and installer. We've been stuck with the break fix break fix loop with SSDT and incompatibility with VS upgrades for too long now. The SSDT team doesn't respond quickly enough, the latest example being SSDT 15.6/VS 2017 15.7.x installation issue, why are we waiting so long for an installer update?

            53 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

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

              24 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 →
              • 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…

                20 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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                • Add Default Backup Checksum Option to SSMS GUI

                  SSMS should have a checkbox under Server Properties, on the Database Settings page, labeled something like "Use Backup Checksums" that would toggle the sp_configure setting for "backup checksum default". This would make it easier for people to enable backup checksum default, which is a good "best practice" that the tooling should encourage.

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

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

                      9 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 →
                      • SQL Server Always On Health Report before executing a failover

                        Hi Msft Team!
                        I'm writing to you to give you a recommendation in SQL Server Always on Feature. Every time that I need to perform a manual failover I need to check some things to avoid any issue. Those are:
                        1) Nt\authority system account permissions (Otherwise the failover will not be successful)
                        2) Current transactions running (Otherwise.. All the transactions that are running since long time will be killed on the primary which means that the secondary will turned into recovery state until those transactions finishes)
                        3) Any delay on long send queue size/Harden/redo queue size /Redone (Example always on…

                        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

                          0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                        • Deploy issue for SSDT database extended property / external tables

                          Deploy issue for SSDT database extended property / external tables

                          Summary:
                          Deployment of an extended property 'MS_DESCRIPTION' on an external table fails, if the Extended property is scripted together with the external table.

                          Deployment of an Extended property 'MS_DESCRIPTION' on an external table succeeds, if the Extended property is added in a postdeployment script.

                          If something is changed, redeployment of the database fails, because the extended property 'MS_Description' can't be deleted.

                          The following code is produced:
                          EXECUTE sp_dropextendedproperty @name = N'MS_Description';

                          This code would be correct:

                          EXEC sys.sp_dropextendedproperty
                          @name = N'MS_Description',
                          @level0type = 'Schema', @level0name = N'schemaName',
                          @level1type = 'Table',…

                          6 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 →
                          • SSMS bug: missing ellipsis for truncated field values (Results to Grid)

                            This bug led me to think the values were different than actual ones: sometimes, when truncating values due to column width, SSMS 2017 (17.7) doesn't put ellipsis (…) in the end of the truncated value, and users are misled to think the value is not truncated.

                            7 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

                              2 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                            • UNIQ_SnapshotChunkMapping is missing from the ReportServer_tempdb database SegmentedChunk table.

                              1) It is a bad practice to use an index hint, because if the index gets dropped, you'll introduce a bug.
                              2) This has been a bug since SQL Server 2008 R2 and possibly before.

                              Either remove the hint from the stored procedures:
                              [ReportServer].[dbo].[CopyChunks] and [ReportServer].[dbo].[CopyChunksOfType]

                              3 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 →
                              • 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())

                                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

                                  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                                • Support for Temporal Relation Predicates first defined in ISO 9075-1:2011 (SQL:2011)

                                  Temporal Comparison/Relation Predicates:
                                  CONTAINS, OVERLAPS, EQUALS, PRECEDES, SUCCEEDS, IMMEDIATELY PRECEDES, and IMMEDIATELY SUCCEEDS

                                  Having these predicates would reduce a lot of the effort and pitfalls involved in writing temporally sensitive queries.

                                  I don't know the formal syntax proposed by ISO, but simply having these predicates can reduce up to four separate and hard-to-read expressions into a single one.

                                  Ex:
                                  WHERE (dt1_start, dt1_end) CONTAINS (dt2_start, dt2_end) -- span dt1 is completely within span dt2
                                  WHERE NOT (dt1_start, dt1_end) OVERLAPS (dt2_start, dt2_end) -- no part of span dt1 overlaps span dt2
                                  ... etc.

                                  As an addendum, it'd also be nice if the…

                                  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

                                    0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                                  • SSRS 2016 SP2 no longer respects text/html MIMEType

                                    An HTML file uploaded to SSRS 2016 SP1 would be identified as mimetype text/html. From the Report Manager portal you could click the link and it would be rendered in a browser window.

                                    After installing 2016 sp2 the mime type for the exact same file is now application/octet-stream. When clicking the link for this file from report manager, it prompts for download instead of opening in a browser window.

                                    This occurs in I.E, Edge, FF and Chrome.

                                    The Use case is uploading an HTML file to include a link/redirect to our data dictionary website to keep our users inside of…

                                    3 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

                                      2 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Weirdness when using value() to select the grandparent of an XML node

                                      Observe:

                                      declare @xml xml=convert(xml, '<Level1 Id="42">
                                      <Level2 Id="Foo">
                                      <Level3 Id="Bar" />
                                      </Level2>
                                      </Level1>');

                                      SELECT y.value('@Id', 'int') thing FROM @xml.nodes('/Level1') x(y) -- 42
                                      SELECT y.value('../@Id', 'int') thing FROM @xml.nodes('/Level1/Level2') x(y) -- 42
                                      SELECT y.value('../../@Id', 'int') thing FROM @xml.nodes('/Level1/Level2/Level3') x(y) -- "Conversion failed when converting the nvarchar value 'Foo' to data type int"

                                      This only seems to happen when (a) you're going up more than one level in the hierarchy; (b) at least one of the intervening nodes has an attribute with the same name; (c) the type of said attribute is not compatible with the one you're trying to reference (e.g.,…

                                      3 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 →
                                      • sql 2017 "cube processing task" ssis adomd client error

                                        A SQL Server 2017 Cumulative Update (somewhere between RTM and CU5) has broken 'Cube Process Tasks' in Integration Services (SSIS). Packages that run fine on SQL 2017 RTM (containing a Cube process Task) FAIL on CU5 and also CU6 with an error related to ADOMDClientUI. The specific error reported in the SSIS log is "Process Cube:Error: Could not load file or assembly 'Microsoft.AnalysisServices.AdomdClientUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91 or one of its components. The system cannot find the file specified."

                                        19 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  ·  16 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Support Parameter Embedding Optimisation for queries that assign to variables

                                          `OPTION (RECOMPILE)` is needed to get a filtered index to match when the predicate is using variables or parameters.

                                          Recently I had a need to perform conditional logic in a stored proc dependant on whether or not a predicate (matched by a filtered index) contains any rows.

                                          1st attempt

                                          IF EXISTS(SELECT ...)

                                          But no way of applying a query hint to the query in an IF that I can see so no way of adding OPTION (RECOMPILE).

                                          2nd attempt

                                          SELECT @RowsExist = CASE WHEN EXISTS(SELECT ...) THEN 1 ELSE 0 END OPTION (RECOMPILE)

                                          But this doesn't work either as the…

                                          2 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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 406 407
                                          • Don't see your idea?

                                          SQL Server

                                          Feedback and Knowledge Base