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. Porting SMO Library to .NET Core

    SQL Server has been ported to Linux for over a year now and it is time the complete SMO library (or what can be) is ported over to cross-platform as well.

    Only 9 or so core files have been ported over to .NET Core and this allowed the sqlserver module to port over a small set of cmdlets to PS Core. This does not work for other modules like dbatools that use a wider berth of the library.

    There are plenty of other modules in PowerShell (and applications too) that would like to provide cross-platform support for managing SQL Server…

    108 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 →
  2. Search box in SSMS Object Explorer

    Please add a search box in SSMS Object Explorer similar to what Visual Studio has in the Solution Explorer! It should include autocomplete and the robust filtering abilities (by database, by object type, by schema)

    It is extremely slow to constantly have to navigate through the tree to find the objects you want. I just want to type where I want to go.

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

    Object Explorer doesn’t populate the entire tree in memory, unlike visual studio’s solution explorer. It wouldn’t know if database “MyDatabase” existed until you expanded the Databases node.
    There are third party plugins that provide this type of functionality, I believe, by downloading a bunch of data in the background and exposing a search.

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

    102 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 →
  4. Correctly escape predefined entities in deadlock XML

    If you create a table that has &, ", <, or > in the name, it's not correctly escaped in all instances of deadlock XML.

    This causes an error when trying to convert extended event/system health data to valid XML for analysis.

    https://en.wikipedia.org/wiki/ListofXMLandHTMLcharacterentity_references

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

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  5. Add support for ANSI standard row value constructors

    The ANSI standards for SQL define a concept of row value constructors. These make it possible to write, for instance,

    WHERE (col1, col2) NOT IN (SELECT col1, col2 FROM SomeOtherTable)

    SQL Server does not currently support this constructions

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

    Upvotes: 176

    <=-=Nov 13 2007 12:37AM=-=>

    Hello

    Thank you for your feedback. We’re certainly considering row value constructors for a future release of SQL Server.

    - Sara Tahir
    Microsoft SQL Server

    <=-=Aug 11 2010 8:03AM=-=>

    I think row constructors would be a great and important addition to T-SQL. Just wanted to point out a few more cases that I’d love to see implemented:


    - Assignment
    -
    —————————————————————————————————-

    UPDATE dbo.T1
    SET (c1, c2, c3) = (@p1, @p2, @p3)
    WHERE keycol = @key;

    — Logically equivalent to:

    UPDATE dbo.T1
    SET c1 = @p1,
    c2 = @p2,
    c3 = @p3
    WHERE keycol = @key;

    — Or with a subquery:

    UPDATE dbo.T1
    SET (c1, c2, c3) = (SELECT T2.c1, T2.c2, T2.c3
    FROM T2
    WHERE T2.keycol = T1.keycol)
    WHERE keycol = @key;

    — Logically equivalent to:
    UPDATE dbo.T1
    SET c1 = (SELECT T2.c1
    FROM T2
    WHERE T2.keycol = T1.keycol),
    c2 =…

  6. SSIS Script tasks losing code

    I have a very strange issue happening that is causing Script Task code to clear out. I have been able to test on 2-3 different machines. We are running SSDT 15.4 preview. The steps to reproduce were as follows.


    1. Create a script task inside of a foreach loop container. 2. Create a comment in the script task. 3. Change or add a variable mapping in the foreach. 4. Save package. 5. Open the script task and the comment will have vanished.

    As my last attempt for success,I have upgraded to 15.5.1 and the problem still exists.

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

    We’ll send you updates on this idea

    under review  ·  19 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  7. TRY-CATCH should always work

    Consider this:

    CREATE PROCEDURE inner_sp AS
    BEGIN TRY

      PRINT &#39;inner_sp starting&#39;
    
    SELECT col FROM doesnotexist
    PRINT &#39;inner_sp stopping&#39;

    END TRY
    BEGIN CATCH

       PRINT &#39;Let&#39;&#39;s catch the error: &#39; + error_message()
    

    END CATCH
    go
    SET XACTABORT OFF
    EXEC inner
    sp

    It's reasonable to assume that this would print:

    Let's catch the error: Invalid object name 'doesnotexist'.

    But in fact the output is

    innersp starting
    Msg 208, Level 16, State 1, Procedure inner
    sp, Line 4
    Invalid object name 'doesnotexist'

    That is, the CATCH handler is not activated. This is true for all binding errors that occurs at run time.…

    93 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  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add language support for null treatment clause (RESPECT NULLS | IGNORE NULLS) with offset window functions (LAG, LEAD, FIRST_VALUE

    There�s a common need with offset window functions (LAG, LEAD, FIRSTVALUE, LASTVALUE) to request to ignore NULLs. A classic example is to return the last non-NULL in an ordered stream of values. Consider the following sample data:

    DROP TABLE IF EXISTS dbo.T1;

    CREATE TABLE dbo.T1
    (
    id INT NOT NULL CONSTRAINT PK_T1 PRIMARY KEY,
    col1 INT NULL
    );

    INSERT INTO dbo.T1(id, col1) VALUES
    ( 2, NULL),
    ( 3, 10),
    ( 5, -1),
    ( 7, NULL),
    (11, NULL),
    (13, -12),
    (17, NULL),
    (19, NULL),
    (23, 1759);

    The id column represents the order of the events, and whenever the col1…

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

    Upvotes: 60

    <=-=Mar 29 2017 11:32PM=-=>

    Just wanted to add that both Oracle and DB2 seem to support this feature:

    http://docs.oracle.com/database/122/SQLRF/LAG.htm#SQLRF00652
    https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_1513.htm

    Cheers,
    Itzik

    <=-=Apr 16 2017 10:08PM=-=>

    That last IBM link was for Informix!

    The DB2 link is https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0023461.html

    <=-=Jul 4 2017 3:30AM=-=>

    Thanks for reporting this request.
    It is in our backlog, and we have planned to do something like this, but we cannot confirm when it would be completed.

    Jovan

    <=-=Jul 10 2017 11:54AM=-=>

    Thanks, Jovan; good to hear.

  9. Script Tasks losing code in SSDT 17.1 for Visual Studio 2015

    I have an SSIS 2016 package with a number of For Each ADO Loops, each with a single script task, which are usually working fine.

    However, every so often, a script task will suddenly 'forget' all the code within it. I'm presented with an empty task editor which has reset to C# (if using VB), and lost the ReadOnlyVariable names.
    If I click Edit Script, I get a brand new script created in the editor. This can occur intermittently on reopening the package, or after editing a different script task.

    The same thing also occurs with both VB and C#…

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

    We’ll send you updates on this idea

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

    Upvotes: 47

    <=-=Jun 26 2017 1:02AM=-=>

    I have had the exact same issue, intermittently whenever I open script tasks all my code seems to have vanished and all the “ReadOnlyVaraiables” and “ReadWriteVariables” have also disappeared. It happens for c# and VB script tasks. This is is extremely frustrating and is impossible to develop a project when code randomly keeps disappearing. I’m wondering if this is a bug with Visual Studio 14.0.23107.0 D14REL. Can anyone at Microsoft shed some light on this please?

    <=-=Jun 29 2017 10:45PM=-=>

    Got the same problem. Seems like the Script Task is cleared when the project/Visual Studio i closed/shut down.

    <=-=Jul 18 2017 5:38PM=-=>

    Same problem for me, too. Once the original code in Script Task was still present after reloading the solution. But after that they are gone, along with ReadOnly/ReadWriteVariables and ConnectionManagers. I’m using SSDT 14.0.61705.170 (which just came out) with VS 14.0.25431.01 update…

  10. AlwaysOn Availability Groups - Handling of Instance Level Objects

    In todays implementation when using AlwaysOn Availability Groups the DBA has to take care of the so called Instance Level Objects.
    Without this an (automatic) failover will fail so this is a very sensitive and important task.
    Instance Level Objects span a multitude of objects like logins, SSIS packages or other binaries, Agent Jobs/Schedules, Linked Servers, encryption keys and certificates.

    The recommendation provided by you is to create automated jobs to sync these items regularly.

    I request that you provide these 'syncing' functionality as part of the product out-of-the-box.
    Clearly you cannot know 3rd party dependencies nevertheless there are a…

    84 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 →
  11. Allow SQL databases to exist in a resource group different than the SQL Server

    The idea here is that I would like to have multiple databases in different resource groups, but one server to hold them all. The server would be in its own resource group.

    This is possible with App Service and App Service Plan.

    83 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. HTTP Request Function

    I have a scalar CLR function I created that allows me to make HTTP Requests and return the response. It would be awesome if SQL Server had a function built in that could do it.

    This has proven to be super helpful time and time again with the biggest use case being querying web APIs directly from the database without having to involve any other programming language or integration tools to load the data into a database before being able to query it.
    Often these APIs provide data back in either JSON or XML and SQL Server already has a…

    70 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 →
  13. SSAS Designer showing empty phantom/duplicate tables

    Working with an SSAS multidimensional cube that was developed using SSDT 17.3, the Data Source View for the cube is showing multiple phantom tables as the data source view is changed/refreshed. This is happening when looking at the Data Source View for both cubes as well as dimensions.

    The Data Source View object itself does not show any issues, cube functionality does not appear to be affected when it is deployed and processed.

    When trying to use the "Copy Diagram from" function, Visual Studio crashes on me.

    The issue has persisted as I've upgraded to 17.4, as well as testing…

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

    We’ll send you updates on this idea

    under review  ·  14 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  14. In SQL Server Always oafter a failover, SQL Server keep the connections open without killing any session

    Hi Msft Team!
    I want to suggest one improvement to your sql server always on feature. Normally, once we perform failovers we need to ask app teams for maintenance windows... or in worst cases ,if this happens automatically, we need to discover the RCA of this because all the application or users connections had been terminated. Also many times that we had automatic failovers or perform failovers with long executions happening the secondary instance turned into recovery state because it was waiting for this session to finish to synchronize again. So, is it possible to add the capability for failovers…

    69 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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow Asymmetric Key to be created from binary hex bytes string just like CREATE CERTIFICATE (SQLCLR / SSDT / Module Signing)

    Creating an Asymmetric Key (for the purpose of creating an associated Login to provide { EXTERNAL ACCESS | UNSAFE } ASSEMBLY permission for SQLCLR Assemblies and hence avoid setting TRUSTWORTHY ON) requires a file or EKM provider or Assembly. Prior to SQL Server 2017 it was at least possible to load an Assembly (marked as SAFE) that is signed with the same private key into [master] to then create the Asymmetric Key from, and then drop the Assembly.

    But, with SQL Server 2017, ALL Assemblies will require being signed with a matching key / cert -based Login having the UNSAFE…

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

    We’ll send you updates on this idea

    7 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  16. Maintenance Plan Portability

    Maintenance Plans should be scriptable, deployable and maintainable without the need to manually create/update a plan on each server/instance. Current functionality requires the DBA to manually generate a SQL Maintenance Plan one at a time for each instance in the environment. Built in SQL Maintenance Plans should be scriptable, deployable and maintainable with TSQL or in some automated fashion that will allow deployment to large enterprise environments that do not require the use of a GUI.

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

    We’ll send you updates on this idea

    under review  ·  7 comments  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  17. 65 votes
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  7 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add built-in support for regular expressions in T-SQL

    LIKE is very limited in what it can differentiate. The CLR has much more robust handling for regular expressions, but it's hard to get to from T-SQL.

    Could we add built-in functionality in T-SQL to do regular expression pattern matching?

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

    Upvotes: 54

    <=-=Sep 4 2007 12:29PM=-=>

    If this is considered for a future version of SQL Server, please implement it according to the ISO SQL standard. In other words, implement the SQL Standard , which provides regular expression support through the operator [NOT] SIMILAR TO, which in the standard remains separate from LIKE.

    <=-=Sep 5 2007 7:05AM=-=>

    Like Steve, I would also like to stress that any implementation should be as per ANSI (SIMILAR predicate). The CLR functionality is not a relevant design consideration.

    <=-=Oct 15 2007 8:43AM=-=>

    This is a request we’ve heard a lot, and it’s of obvious value. I can’t promise when we’ll get to it—-it’s doubtful for this release—-but this is certainly on our radar.

    Cheers,
    -Isaac

    <=-=Mar 24 2010 2:54PM=-=>

    Hi,
    I have resolved this request as duplicate of feedback item below:

    https://connect.microsoft.com/SQLServer/feedback/details/261342/regex-functionality-in-pattern-matching?wa=wsignin1.0


    Umachandar, SQL Programmability Team

    <=-=Mar 24 2010…
  19. 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/

    61 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 →
  20. Schema files have blank lines appended after schema compare

    After doing a schema compare from the DB to the project, most schema files have a blank line appended. This causes the files to be checked out of source control and then show as changes when they shouldn't

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

    We’ll send you updates on this idea

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

    Upvotes: 19

    <=-=Mar 13 2015 2:44PM=-=>

    This is happening for me too; it’s been a long time issue in the SSDT. It creates noise when doing compares, merges, and checkins where these don’t pertain to the real changes of objects.

    Microsoft Visual Studio Ultimate 2013
    Version 12.0.31101.00 Update 4
    Microsoft .NET Framework
    Version 4.5.51209

    Installed Version: Ultimate

    Scaffolding: A framework for building and running code generators
    Server Explorer extensions for Microsoft Azure Websites

    NuGet Package Manager 2.8.50926.663
    NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
    SQL Server Data Tools 12.0.50226.0
    Microsoft SQL Server Data Tools

    <=-=Apr 1 2015 10:31AM=-=>

    Thank you for submitting this feedback. We are investigating this issue and will update when we have more information.

    Steven Green
    SQL Server Data Tools team

    <=-=Feb 1 2016 11:30AM=-=>

    This is one of those issues that convinces me that nobody at MSFT

  • Don't see your idea?

SQL Server

Categories

Feedback and Knowledge Base