SQL Server

Microsoft SQL Server 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 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. 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…

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

    We’ll send you updates on this idea

    50 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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.dmexecplanattributes or sys.querycontext_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!

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

    We’ll send you updates on this idea

    under review  ·  10 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  3. Use column aliases directly in SELECT clause

    It would be nice if queries like this were possible:

    SELECT

     A AS B
    
    ,C AS D
    ,D-B AS E

    FROM table

    In other words, use column directly in the SELECT clause where they are defined. Other database vendors have implemented this, so I assume it's not rocket science.

    Right now, we have to use subqueries just to define an extra calculation.

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

    We’ll send you updates on this idea

    under review  ·  21 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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?

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

    We’ll send you updates on this idea

    under review  ·  8 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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!

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

    We’ll send you updates on this idea

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

    176 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 →
  7. Add a built-in table of numbers

    There are several SQL problems that can be solved with a table of numbers or dates.
    This is a simple one-column table with numbers from 1 and up. Typical common problems
    solved by with such a function:

    o Show me sales for all months, including months for which there were no sales.
    o Iterate over all characters in a string in a set-based statements.
    o Any other query which you need to drive with a consecutive seres.

    It's easy to construct and fill such a table. However, there are a couple of problems
    with it:
    1) If you query needs…

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

    We’ll send you updates on this idea

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

    Upvotes: 278

    <=-=Feb 1 2008 7:18PM=-=>

    Thanks for the valuable suggestion.

    This seems more like adding the sequence support which we’re seriously considering for the next major release.

    Meanwhile, would using identity column help?

    <=-=Feb 2 2008 2:11AM=-=>

    It does not seem that you understood the request. This definitely has nothing to do with
    IDENTITY. I am less versed about sequences, but I don’t think they will cut it either. If you think
    it does, maybe you could provide an example? Take this problem: For the Orders table in
    Northwind, write a query that lists the number of orders for all days in 1997. The result set should
    include all 365 days, and list zero for days without a number.

    This is a typical problem where you need a table of of numbers (or dates). While it’s easy to
    create such a table, I argue in this request that…

  8. Change limit/behaviour of msdb.dbo.suspect_pages table

    Currently the msdb.dbo.suspect_pages table has a 1000 row limit, once the table gets to 1000 rows it stops collecting new errors. This means that on servers where the suspect_pages tables has filled up you are unable to see if new errors are still being discovered.

    My suggestion would be to remove, or at least greatly increase the hard limit of 1000 rows in the suspect_pages table.

    Books online Documentation - Manage the suspect_pages Table
    https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/manage-the-suspect-pages-table-sql-server?view=sql-server-ver15

    "The suspect_pages table contains one row per page that failed with an 824 error, up to a limit of 1,000 rows."

    "Database administrators are responsible…

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

    We’ll send you updates on this idea

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

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

    We’ll send you updates on this idea

    under review  ·  8 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  10. T-SQL Common Table Expression "Materialize" Option

    T-SQL Common Table Expression "Materialize" Option

    I have run into a couple performance and results issues using Common Table Expressions (CTEs).

    The first case is where I coded a data retrieval as a single, large query with a CTE that is referenced multiple times in the query. The CTE has an expensive query. I was able to determine, via execution plans, etc., that the results of the CTE were being recalculated multiple times, resulting in slow execution. I rewrote the data retrieval as multiple steps where the query of the CTE was first executed into a table variable, and I…

    148 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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  11. In-Memory OLTP - allow removal of Filegroup for memory_optimized_data

    It should be possible to remove the memoryoptimizeddata Filegroup and files, if all in-memory tables and procedures have been deleted.

    Currently you cannot do this "by design", however this is a potential blocker to people using this technology due to the "no-going-back once it's enabled". It is now several years since Hekaton was first released - support for this feature is long overdue!

    At present you get errors such as:
    Cannot drop the last memory-optimized container
    The filegroup ... cannot be removed because it is not empty.

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

    We’ll send you updates on this idea

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

    Upvotes: 3

    <=-=Jan 8 2018 12:16PM=-=>

    Thanks for the suggestion.
    We’ll consider it for a future release.

    Are there specific limitations imposed when you have the filegroup, e.g., no database snapshot, that hold you back from creating the filegroup?
    Or is it only the feeling of not being able to turn back?


    Jos de Bruijn – Database Systems PM

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

    139 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 →
  13. Provide XEvents target directly into SQL Server table

    Provide a way to directly write XEvent output directly into a SQL Server database table in a same or different instance and same or different database.

    The goal being to be able to not have any events missed but have the entire stream captured to the table and also provide header information for when the capture table was created for easier management and deletion. Ideally there should be a purge task that could be activated to clean out such captures after X days.

    XEvents is a great and powerful tool.
    Customers should have an easier way to get it directly…

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

    We’ll send you updates on this idea

    under review  ·  4 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  14. 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…

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

    We’ll send you updates on this idea

    8 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  15. Bring Back TFS and Git in SSMS

    According to this post: https://blogs.technet.microsoft.com/dataplatforminsider/2016/11/21/source-control-in-sql-server-management-studio-ssms/ these features were removed "because they didn't fit in the overall experience" for SSMS. This seems like an incredibly short-sighted decision for your user base. Many SQL developers use SSMS specifically because it is lightweight and does not require the massive baggage and learning curve of the full VS. That doesn't mean we don't need source control or task tracking in our process. Removing functionality that integrates two Microsoft products seems like a massive step backward. The suggestion to "work around" this poor decision by manually editing a definition file comes across as particularly condescending,…

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

    We’ll send you updates on this idea

    23 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  16. SET STATISTICS IO should also show schema name for tables

    When you use schemas in your database, and you have the same table names in multiple schemas, it is not clear, which schema the table belongs too in the output of the SET STATISTICS IO. E.g. a table called Profile, or configuration in different schema is very common at our databases

    Today the output is just
    Table 'Profile'. Scan count 1, logical reads 123, physical reads 1, read-ahead reads 121, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
    Table 'Profile'. Scan count 3, logical reads 13, physical reads 1, read-ahead reads 342, lob logical reads 0,…

    116 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 →
  17. 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…

    112 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 →
  18. 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…

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

    We’ll send you updates on this idea

    under review  ·  15 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  19. SQL Agent Job Chaining

    It would be a great feature to make SQL Agent Jobs hierarchical so that one (or more) job(s) can be dependent on another job allowing SQL Agent Jobs to be chained together.

    109 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 →
  20. Add language and optimizer support for ISO <distinct predicate>

    SQL 1999 and later include the <distinct predicate> IS [NOT] DISTINCT FROM.

    The definition of distinct is (quoting from the 2003 standard) "informally, not equal, not both null." This is consistent with where SQL Server (following the standard) already uses the keyword DISTINCT. Adding <distinct predicate> to T-SQL would simplify coding of joins, in particular, and as of 2008, MERGE statements in a variety of typical scenarios.

    Example:

    SELECT T1.this, T2.that
    FROM T1 JOIN T2
    ON T1.entry IS NOT DISTINCT FROM T2.entry

    Currently, this must be written as

    SELECT T1.this, T2.that
    FROM T1 JOIN T2
    ON (
    T1.entry = T2.entry …

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

    Upvotes: 289

    <=-=Aug 9 2007 9:12AM=-=>

    Benefits:
    Improved Readability, therefore Maintainablity, therefore reduced manpower $ and time expenditure.

    <=-=Aug 27 2007 6:13PM=-=>

    I definitely see the value of this. Thanks for proposing it. We’ll try to squeeze it in to SQL Server 2008 but things are really tight in terms of room for changes like this. It has to compete with many other things, including a bunch that have a larger impact on query performance, or that don’t have an easy workaround. This issue has a workaround, though it is not pretty and programmability would be enhanced a lot with the proposed enhancement. I’ll see what I can do.

    Best regards,
    Eric

    <=-=Oct 17 2007 2:06PM=-=>

    Things do not look good for this enhancement for Katmai. It probably will not make it into the release. We’ll make a final assessment in a couple of weeks. Before we can consider this,…

  • Don't see your idea?

SQL Server

Categories

Feedback and Knowledge Base