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

    169 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 →
  2. Cardinality Estimator - Specify Execution hints at object definition and/or execution level

    Today we can set execution context at different levels. In particular decide which Cardinal Estimator (CE) version to use to execute our workload.
    At Instance , session , database and/or query levels by using trace flags, database scoped configuration and/or query hints.
    There are cases where some workload runs better using the legacy CE and others with the current (or most recent) CE

    I believe it will be extremely useful to be able to specify execution content at object level (procedures and functions) so if the object is defined to use a particular CE, the execution plan will be generated…

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

    We’ll send you updates on this idea

    18 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  3. Trace Flag/sp_configure Option to Allow Developer or Evaluation Editions to "Act" like Standard Edition

    One of the challenges for many customers who need to use Standard Edition is that both Developer and Evaluation Editions of SQL Server are the same functionally as Enterprise Edition. This means that in non-production scenarios/environments, without buying a full license of Standard Edition (or having MSDN), you are potentially using (or able to use) features not available in Standard. Dev and Eval should have a way to allow those who will ultimately be using Standard to constrain what features are used as well as any performance limitations in Standard so their eval/dev/testing efforts are accurate.

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

    We’ll send you updates on this idea

    17 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  4. Change execution plan terminology

    SQL Server has since almost forever used the terms "Actual Execution Plan" and "Estimated Execution Plan" for execution plans with and without added run-time counters. And this has since almost forever caused confusion and misunderstanding.

    Erin Stellato, Grant Fritchey, and me, with the help of Pedro Lopes, have prepared a proposal for better terminology. Terms that better describe the reality and have less chance for confusion.
    See https://sqlserverfast.com/blog/hugo/2020/02/stop-the-name-calling-execution-plan-terminology/ for a more detailed explanation.

    Together with Erin and Grant, I request Microsoft to change the terminology in their tooling. In the next release of Management Studio, please replace "Estimated Execution Plan"…

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

    We’ll send you updates on this idea

    unplanned  ·  7 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  5. Create a new DMV that Exposes CPU Utilization Information

    One common way to get CPU utilization by SQL Server is to query the sys.dmosringbuffers DMV. This DMV is undocumented and unsupported. It also sometimes returns incorrect information (with negative values or values over 100%) on some systems. This usually happens on systems that have more than 64 cores. I have attached a sample query that uses sys.dmosringbuffers for this purpose.

    It would be very useful to have a new DMV (that was supported and documented) that would more reliably return this information.

    46 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 →
  6. 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…

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

    We’ll send you updates on this idea

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

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

    We’ll send you updates on this idea

    under review  ·  9 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  8. Restore a table from a backup

    Hi Msft team!
    I'm writing to reccomending a new feature that will help us a lot! Every time that we have data issues (truncate or DML by accident) we need to restore the entire database or filegroup and that takes a lot of time! it will be awesome if you can add the posibility to restore a table from a backup or restore to a point in time directly from SSMS instead off the whole process.
    I hope this helps!
    Thank you!

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

    We’ll send you updates on this idea

    98 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  9. Query plans with MSTVFs in them don't include time populating the table variable

    Imagine if you will, that you're using a multi statement table valued function. When you run a query that calls it, it may run for a very long time, but when you look at the operator times in your query plan, the time spent in the MSTVF isn't anywhere obvious.

    The time will show up in the plan properties as elapsed time, so it is associated with the query somehow. I think it would be beneficial to present the time spent in the function in the TVF operator.

    27 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 →
  10. 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…

    128 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 →
  11. Need to be able to list files in Azure BLOB storage, not just open them

    in Azure SQL Database, OPENROWSET does a great job of reading files (like CSV/TSV files) from Azure BLOB storage.

    But there's currently no way from within Azure SQL Database to read the list of files that are currently in a container. That's a significant feature gap.

    10 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 →
  12. Allow Resource Governor to control the CAP of the TOTAL IO in MB/s

    We need to define the maximum total disk throughput (MB/second instead of IOPS) per Resource Pool and to be able to cap the total maximum throughput on the SQL Server Instance level in Resource Governor.

    The current offering of MAXIOPSPER_VOLUME allows us to control one common value across a number of different volumes, where IOPs is not a very constant, since SQL Server does a wide range of different block sized operations.

    7 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 →
  13. Support for CHECK_POLICY and CHECK_EXPIRATION on SQL Server on Linux.

    This is one of the problems when migrating from the Windows version to the Linux version.
    I'm hoping that the policy option 'CHECKPOLICY' and 'CHECKEXPIRATION' will be implemented in SQL Server on Linux.

    If this policy uses the Windows API, it may be difficult to implement it in the Linux version.
    However, I would like the security features to be similar for Windows and Linux.

    >A standard password policy is provided. MUSTCHANGE is the only option you may configure. CHECKPOLICY option is not supported.
    https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-security-overview?view=sql-server-ver15

    7 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 →
  14. Allow trusted services in Azure SQL server firewall

    This feature is currently available on Storage Account, it will permit the following :


    • Grant access to Azure services registered in the same subscription.

    • These trusted services will then use strong authentication to connect to our SQL Server securely.

    14 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. SQL Transactional Replication - identify transaction

    Transactional replication is configured and running:
    SRC/DIST/TGT: SQL Server 2017 14.0.3281.6
    SRC - DIST - TGT
    TGT - DIST - SRC

    1) I have configured transaction replication (uni-dir) for tableA SRC->DIST->TGT. Also configured another trans replication for same table "tableA" from TGT-DIST-SRC. In other words, this is bi-directional replication for tableA using trans replication technique. When I insert row for tableA in SRC, it is replicating back to SRC because log reader on TGT doesn't differentiate between user-trans & dist-agent-trans. This is causing infinite looping. We cannot use merge replication for tableA due to some issues. My suggestion would be…

    6 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 →
  16. Don't use Number of Rows Read for arrow width in execution plans

    In 2017, the rendering of execution plans has been changed to use the Number of Rows Read property, rather than the Actual Number of Rows property, as the basis for the arrow width in the graphical execution plan. And based on your reply to https://feedback.azure.com/forums/908035-sql-server/suggestions/32719306-incorrect-arrow-width-in-execution-plans-ssms-17 this was a deliberate choice, not a bug.

    Please consider revisiting and reverting this choice.
    While I do understand and appreciate the desire to have a simple visual indication of work done by operators in the execution plan, using the outgoing arrow for this is not the correct choice.

    One reason is that it's inconsistent.…

    7 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. ScalarGbAggToTop transformation with MAX(nullable_column) produces sub optimal plan

    For the following setup

    CREATE TABLE #T1(X INT NULL UNIQUE CLUSTERED);
    
    CREATE TABLE #T2(X INT NULL UNIQUE CLUSTERED);

    INSERT INTO #T1
    OUTPUT INSERTED.X INTO #T2
    SELECT TOP 1000000 NULLIF(ROW_NUMBER() OVER (ORDER BY 1/0),1)
    FROM sys.all_objects o1,
    sys.all_objects o2;

    WITH CTE AS
    (
    SELECT X FROM #T1
    UNION ALL
    SELECT X FROM #T2
    )
    SELECT MAX(X)
    FROM CTE

    The execution plan is needlessly inefficient. It has scans with IS NOT NULL and IS NULL predicates despite the fact that these predicates would be seekable. Additionally the IS NULL scan is ordered backwards meaning it is guaranteed to have to read all…

    5 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 →
  18. Base arrow width in execution plans on Estimated Number of Rows for All Executions

    In the 18.5 update of SSMS, the graphical representation of execution plans relabel the "Estimated Number of Rows" property as "Estimated Number of Rows Per Execution", and add the (computed) "Estimated Number of Rows for All Executions". This is a huge improvement that can prevents many mistakes.
    However, in the rendered execution plan (for an execution plan only, aka estimated execution plan), the width of the arrow is still based on the Estimated Number of Rows (per execution). So if the inner input of a Nested Loops join is estimated to execute 5 billion times and process less then 10…

    6 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 →
  19. Add Query IO Stats Roll Up To Query Plans

    When you get an actual execution plan in SSMS, the root operator has a QueryTimeStats attribute where you can view CPU and Elapsed Time for your query as a whole.

    There are also IO stats per operator, but no roll up at the root node. It would be handy to have this, similar to SET STATISTICS IO ON, so you would know which operators to dig into based on table reads.

    Right now, you have to click around to figure anything out, and that can be painful in large execution plans.

    12 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 →
  20. SQL Server new algorithm to chose NUMA node to bind connection to

    When SQL Server is deployed on NUMA hardware or virtual hardware, it binds connections to NUMA nodes in a round robin fashion. This is not correct and often lead to NUMA node imbalance. I suggest to create an algorithm which takes into account the nodes load and choses the least loaded.

    28 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 →
← Previous 1 3 4 5 206 207
  • Don't see your idea?

SQL Server

Categories

Feedback and Knowledge Base