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. provide lpad/rpad funtion

    In 15 years of sql server development, was the lack of native lpad/rpad string funtions, one of the main pain. Please provide native left padding (lpad) and right padding (rpad) funtions.
    Every main DBMS supports this function, except MS SQL Server.
    I think this an easy subject that has to be changed.

    The follwolling DBMS supports rpad/lpad:
    - Oracle
    - Postgresql ()
    - MySQL
    - DB2
    - Informix

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

    Upvotes: 1

    <=-=May 29 2017 1:07PM=-=>

    Thanks you for the idea. We will keep it into the backlog but we cannot guarantee when it would be implemented. We have already added several new string functions STRING_AGG, TRIM, TRANSLATE, and it would be good to add more. We are prioritizing functions that might be added so we cannot confirm when we will add this one.

  2. Add Central Management Server support to Azure SQL Database

    Registering a new Central Management Server currently requires msdb and as such, we cannot register a Central Management Server in an Azure SQL Database. It would be great to have this feature to help support managing on-premise database instances as well as Azure SQL Servers.

    18 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 →
  3. New SQL version of SQL Server

    Would love to see sql server go the direction of nuodb or memsql and implement a fully distributed version of MS SQL SERVER.

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

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  4. Provide a way to update SSDT system database reference DACPACs

    Please provide a method for updating the master.dacpac and model.dacpac reference databases that install with SSDT.

    The versions that install with SSDT are static and do not reflect any changes/enhancements/bug-fixes that are made within SQL Server.

    For example, the SQL Server 2017 master.dacpac is missing the new system DMV's [sys].[dm_os_host_info] and [sys].[dm_db_log_stats], and the recently released SQL Server 2016 SP2 adds a new DMV [sys].[dm_db_log_info] and new columns to the DMV [sys].[dm_os_sys_info] which will be missing from the SQL Server 2016 master.dacpac.

    Any referenes to new DMV's/columns generate 71502 (unresolved reference) errors. The workaround is to ignore these errors, but…

    17 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  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  5. Please add the Scroll bar to the Parameters section in SSRS Report Manager like in SSDT

    When viewing a SSRS report on a device with a smaller screen, such as an iPad or iPhone, if there are several parameters, it takes up a lot of space, and with SSRS 2016, it does not scroll out of view - only the report section scrolls.
    Could you please provide scroll bar for parameters section in Report Manager like in SSDT.

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

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  6. SSIS package fails to start - application lock timeout in SSISDB.catalog.create_execution

    Details are described here:
    https://connect.microsoft.com/SQLServer/feedback/details/783291/ssis-package-fails-to-start-application-lock-timeout-in-ssisdb-catalog-create-execution

    In short: when a scheduled job tries to execute an SSIS package , there's a time-out in the communication between the job and the SSISDB database. The package is never executed. The original bug reports was closed as duplicate (no duplicate to be found though).

    I encountered this bug in SQL Server 2017, patched to the latest CU.

    Error message: Failed to execute IS server package because of error 0x80131904. Description: The operation failed because the execution timed out. Source: .Net SqlClient Data

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

    We’ll send you updates on this idea

    under review  ·  6 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  7. Add array-support to SQL server engine

    Arrays are a core part of programming, except in SQL-server, where they don't exist.

    PostgreSQL has had array support for over 15 years (version 7.1 in 2001) by now...
    https://www.postgresql.org/docs/current/static/arrays.html

    And yet, in the year 2016, in the MS-universe, we still can't even parametrize an IN-clause in a SIMPLE & performant way, for example in a table-valued function or when passing a multiple-choice drop-down selection from SQL-Server reporting-services, or the combination of the two...

    Instead, there are a multitude of horrible, error-prone, complicated, user-unfriendly, slow & unperformant ways of working around the problem. For example, when you need to prevent…

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

    Upvotes: 6

    <=-=Mar 3 2017 2:00PM=-=>

    We are aware that this is important missing feature; however, we have no plans to add this in the near future. We will keep this request in backlog to see how many votes will get.

    <=-=Jul 1 2017 7:03PM=-=>

    Can’t even remember how many times I’ve wished to have this in SQL server.

    If you want to get a somewhat realistic feel of how talked about this feature really is, you can check out the number of votes and more importantly views that this StackOverflow question has:

    https://stackoverflow.com/questions/1732613/how-to-declare-array-inside-sql-server-stored-procedure

    Unfortunately, not many people visit this website and participate in voting here so it’s not a reliable indicator of how much any particular feature is requested. Please consider moving to UserVoice. Visual Studio UserVoice for example has loads more activity.

    <=-=Jul 1 2017 11:17PM=-=>

    We totally understand that t-sql as a language itself is desigened to…

  8. SSRS Emailing Reports Should allow password & encryption for GDPR compliance & Extra Security

    When configuring SSRS to email a report on a schedule, it does not allow the files to be encrypted or to be password protected. For GDPR compliance this should be added to protect data that is sent by email or other delivery mechanisms.

    17 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 →
  9. Major Columnstore Performance Enhancement: ALTER INDEX REBUILD WITH (ORDER BY (ColumnA, ColumnB, ...))

    Greetings SQL Server Columnstore Team,

    SQL Server's columnstore performance is highly dependent upon rowsegment elimination. We have been working with mssql16 and competing product memsql to prototype a financial timeseries tick database. We were able to get mssql16 to outperform memsql, however, it took substantial data re-load engineering on our part that we think would be better made available in the ALTER INDEX REBUILD command.

    // sample schema:
    CREATE TABLE trades(
    SecurityID int,
    DateTimeKey datetime2(7),
    Price float,
    Size float,
    Source char(4),
    ConditionCode char(4)
    );

    In mssql16, we partition this table on the datetime2 field (quarterly partitions). Nearly all of our…

    17 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 →
  10. T-SQL for changing table column order

    Once a table is created, the ordinal position of the columns is fixed. This is especially problematic for large data warehouse tables, where new columns are expected to be added over time.

    The only solution currently to re-order columns is to drop and recreate the table (or let the SSMS designer do this for you), but this is often not feasible for a large, highly used table, and it cannot be easily scripted.

    Please add some ALTER syntax that will allow changing column order.

    16 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  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  11. Reporting Services 2017 installation - domain controller.

    Please give back the ability to install Reporting Services 2017 on a domain controller.
    Every installation of SSRS from 2008 to 2016 works without any problem.
    Reporting Services as part of Sql Server are crucial for many SMBs that don't have the infrastructure to install separate machines for domain controller and sql server.
    I understand recommending, but not prohibiting.
    Kind regards

    16 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  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →
  12. sys.dm_os_sys_info/ms_ticks in Azure SQL DB

    It is often useful, when doing real-time activity monitoring, to be able to understand when workers are spending a long time sitting on the runnable queue after entering a wait state.

    This information is available in the on-prem product by using the sys.dm_os_workers DMV, which gives numbers in terms of "ms_ticks." Converting these ticks to actual clock time requires pulling an "ms_ticks" value from the sys.dm_os_sys_info DMV.

    Unfortunately, Microsoft pulled the latter DMV from Azure SQL DB, making this information completely inaccessible. And it would be quite useful there, especially when DTU throttling is taking place.

    My request is to…

    16 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 →
  13. SSAS Supported Compatibility level is actually showing default Compatibility in SSMS 17.3

    In SSMS 17.3 with Analysis Services Client tools 14.0.1008.227 when you click on server properties for an SSAS 2017 instance it shows the "Suppported Compatibility level" as 1200 when it should show 1100,1103,1200,1400.

    If you run a DISCOVER_XML_METADATA command against the SSAS 2017 instance you can see the correct data returned for the default and supported compatibility modes, it appears that the SSMS UI has just mapped this incorrectly.

    <ddl400:DefaultCompatibilityLevel>1200</ddl400:DefaultCompatibilityLevel>
    <ddl600:SupportedCompatibilityLevels>1100,1103,1200,1400</ddl600:SupportedCompatibilityLevels>

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

    We’ll send you updates on this idea

    6 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  14. xp_delete_file on SQL Server 2017/Linux

    The xp_delete_file system stored procedure for deleting bakup file does not work on Linux client OS.
    Wee tested on Microsoft SQL Server 2017 (RTM-CU1) (KB4038634) - 14.0.3006.16 (X64) Enterprise Edition (64-bit) on Linux (Ubuntu 16.04.3 LTS)

    Script we used :
    DECLARE @BACKUP_DIR NVARCHAR(256);
    EXEC master.dbo.xp_instance_regread
    @rootkey = 'HKEY_LOCAL_MACHINE',
    @key = 'Software\Microsoft\MSSQLServer\MSSQLServer',
    @value_name = 'BackupDirectory',
    @BackupDirectory = @BACKUP_DIR OUTPUT;
    SELECT @BACKUP_DIR
    EXEC master.sys.xp_delete_file 0, @BACKUP_DIR, N'bak', N'21111111';
    GO

    Error message :
    Msg 22049, Niveau 15, État 0, Ligne 67
    Error executing extended stored procedure: Invalid Parameter

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

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  15. service broker target not functional on extended events

    I filed a question on StackOverflow, if SQL Server 2017 supports a service broker service as a target for extended events. It seems to be configurable, but no events are written to the service broker queue.

    Any ideas?

    https://dba.stackexchange.com/questions/196571/is-there-a-service-broker-target-for-an-extended-event-session

    15 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  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  16. Performance of shredding the XML data type using nodes() / value().

    Performance of shredding XML to rows using nodes() and value() get linearly worse with the number of columns returned.
    The reason is that each column is handled by a separate branch of its own in the query plan.
    A nested loop join against a table valued function that returns the value.
    Comparing performance of shredding using nodes() with openjson I have seen that when there are three or more columns shredded,
    openjson is the clear winner.

    My suggestion is that you build a way of shredding XML similar to how it is done for shredding JSON.
    An openxml that can…

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

    Upvotes: 8

    <=-=Mar 4 2017 9:33AM=-=>

    We understand the problem. XML is designed differently and the goal was to provide rich query language with XPath support, which might require a lot of memory and processing logic. OPENJSON is designed to be more lightweight and just scan JSON text and return values where it finds them. There are pros and cons for both approaches (similar to pros and cons for DOM and SAX parsers).

    The key differentiators between JSON and XML is the fact that JSON is better for scan based processing of JSON columns where you just pick few values from JSON text, and XML is better for rich querying and indexing.

    I will keep this item open and let people vote for this; however, we cannot guarantee that this kind of re-design of XML will be done in near future.

    If you need to use shredded nodes in some…

  17. Sort order of Environment Variables in "Set Parameter Value" dialog of SSIS Solution

    When mapping Parameters to Environment Variables in the Configure screen of an SSIS project, the dropdown containing environment variables isn't sorted alphabetically. This makes finding the required variable difficult when working with large lists of values.

    15 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 →
  18. SSDT 17.2 for VS 2015 - SSIS 2016 packages can't open Analysis Services Processing tasks

    I upgraded an SSIS project from 2014 to 2016 using SSDT 14.0.61707.300 in Visual Studio 2015. Upon doing so, whenever I open a Analysis Services Processing Task, I get the following error:

    TITLE: Analysis Services Processing Task
    ------------------------------
    Method not found: 'Microsoft.AnalysisServices.ErrorConfiguration Microsoft.AnalysisServices.Commands.BatchCommand.get_ErrorConfiguration()'.
    ------------------------------

    If I revert back down to 2014, I can open it just fine. If I create a new AS Processing Task in the same package or new package in the same solution, I get the same error. If I upgrade the SSIS project to SQL2017, it magically works. The issue is only when the target version…

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

    We’ll send you updates on this idea

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

    Upvotes: 13

    <=-=Dec 4 2017 3:53AM=-=>

    Hi Gabe,
    I’m having a similar problem, but not only with upgraded packages.
    I’m having problems also if I create a completely new package
    with Integration Services 2016 in Visual Studio 2015 (SDDT version installed is 17.2).
    It works if I use Integration Services 2014 or 2017.

    I’ve not yet found solution to that issue.

    Please let me know if you identify a solution to your issue

  19. Add a "delete" option for JSON_MODIFY() to remove deleted keys instead of setting them to NULL

    Originally based on this Connect item: https://connect.microsoft.com/SQLServer/feedback/details/3120404

    The JSON_MODIFY delete functionality via NULL works inconsistently. On properties, NULL removes the item from the JSON completely. On arrays, NULL nullifies the value but does not remove it from the array.

    Example:
    -- Our JSON data with three properties:
    DECLARE @data nvarchar(100) = JSON_QUERY('{ "Property1" : "A", "Property2" : "B", "Property3" : "C" }')
    -- Output: { "Property1" : "A", "Property2" : "B", "Property3" : "C" }

    -- Deleting the second property with NULL completely removes it from our JSON:
    SELECT JSON_MODIFY(@data, '$.Property2', NULL)
    -- Output: { "Property1" : "A", "Property3" :…

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

    Upvotes: 10

    <=-=Apr 10 2017 4:40AM=-=>

    Thanks for the feedback. We agree with your proposal and this request is in our backlog. We will let people to vote for this. Also feel free to report any other option that you find useful. Note that we cannot commit when this request ill be implemented, because it depends on the number of votes and schedule.

  20. Permit TRUNCATE TABLE when referencing tables are empty

    TRUNCATE TABLE is an efficient command to empty a table, as deallocates all extents and the extend allocation is all that is logged.

    However, its usefulness is reduced by the fact that you cannot use it when there are referencing foreign keys. In the general case, this makes sense, as if the referencing table has data, truncating the table is almost bound to cause a constraint violation. The exception is if all rows in the referencing table has a NULL value in the FK column, but verifying this could be expensive.

    However, you may want to use TRUNCATE TABLE on…

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

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Suggestions  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

SQL Server

Feedback and Knowledge Base