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. SMSS missing format document

    In the development team I am working to, we are using a formatting code convention different from that used in the book onlines, so when we use the Query Designer, we have to manually format the code. Apart from that, there is not an easy way to format the T-SQL code in any kind of code convention, I mean, differently that in VS for c#, I can't find any "Format Document" or "Format Selection" command (even in VS 2005 itself, there is no way to format T-SQL code)

    3 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: 5

    <=-=Mar 28 2006 4:52PM=-=>

    Thank you for your suggestion for formatting t-sql statements. We will consider this for a future release of SQL Server

    <=-=May 12 2011 1:27AM=-=>

    Hi,

    We took a look at this bug along with several others recently. Unfortunately, triaging it against other critical bugs, I do not think we would get to investigating this in the near future. However, we have taken note of this internally, and when we revisit this functionality in the future, we will try and get this resolved.

    Thanks for writing to Microsoft.

    Thanks,
    Chandraveer

  2. Add CREATE DOMAIN command

    Can't define domains in SQL Server 2005 for data types.

    3 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: 36

    <=-=Feb 17 2006 2:04PM=-=>

    Thanks for the feedback. We’ll consider your input for planning of future release of SQL Server.

    <=-=Jul 19 2007 1:38AM=-=>

    Hello

    please consider ALTER DOMAIN, too.
    This should allow minor changes to the domain (like changing the size of a char column) WITHOUT data loss.

    Thx
    EH

    <=-=Nov 15 2008 7:21AM=-=>

    This feature is a standard feature in ISO SQL and is well used in case tool like Power AMC while modeling the datas. Its a feature that can optimize the data model by fixing globally the types of informations across the tables that will result of no implicit cast while using two columns in a join wich can have been differently created in two different tables. Example : column name in table customer as varchar(25) and column name in table employee as nchar(32). This would be avoided by using a NAME SQL

  3. Option to defer foreign key constraint checking until transaction commit

    There are various "chicken and egg" scenarios where it would be desirable to defer the checking of referential integrity constraints until commit time on a transaction.

    3 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: 106

    <=-=Apr 20 2006 7:33PM=-=>

    As a further example, consider flushing the contents of an ADO.NET dataset to the database server. Currently, the order of the updates is critical. It would simplify code design if you could just a) start a transaction b) send all the updates c) commit them.

    <=-=Oct 13 2006 1:35PM=-=>

    Hello Greg,

    Thanks for the feedback. We are aware of this and looking into it for a future release.

    Sameer Verkhedkar
    SQL Engine
    [MSFT]

    <=-=Apr 9 2008 5:07AM=-=>

    This is a duplicate of feedback id 124624.

    The SQL ANSI-92 standard is to defer constraint checking until the commit phase – only 16 years ago now.

    It is not a question of performance or faster dev, it is a fundamental to any database to be able to change a record from one consistent state to another consistent state within a transaction,…

  4. Placing Database under Source Control

    I have been trying to evaluate how SQL Server Management Studio integrates with source control. The only thing I can find is the ability to place a database 'solution' under source control and that basically puts create scripts and change scripts under source control. It doesn't keep 2 or more people from making changes to the same object.

    3 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: 2

    <=-=Jun 20 2008 2:27PM=-=> harolds,

    Thank you for the suggestion. I will send a notification to the feature team to keep tracking of this suggestion.

    Regards,
    Eric Kang
    Program Manager, Microsoft SQL Server

    <=-=Aug 22 2008 11:49AM=-=>

    Harold is a colleague of mine. It just seems strange to us that all SQL related source control is done at a SQL script level instead of an actual object level within SQL Server itself. You should be required “check-out” a stored procedure, for example, before you can ALTER it. If you “Undo check-out” then the object should be restored to it’s previous state.

  5. Support ISO 9075 standard string concatenation - double pipe

    The ISO SQL standard 9075, feature ID E021-07 covers string concatenation. The standard specifies this is a double pipe character sequence ('||'). SQL Server doesn't currently uphold this standard.

    3 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: 54

    <=-=Dec 13 2007 3:41PM=-=>

    Thanks for the feedback and the many votes. Note that while we do not use the standard syntax for it, we are providing equivalent functionality with the ‘+’ operator.

    Nevertheless, we will look into it for a future release.

    Best regards
    Michael

    <=-=Dec 13 2007 4:26PM=-=>

    Thank you, Michael.

    While I am familiar with the “+” operator for string concatenation, it is both non-standard, making writing SQL for SQL Server more burdensome, and overloaded, causing hard-to-find type-casting errors.

    The double-pipe would be a great improvement in a number of scenarios. I appreciate your consideration of it for a future version.

    <=-=May 1 2008 6:50AM=-=>

    This is needed so that one version of a SQL statements can be ported to different database platforms without change.

  6. Multi-column subreports do not work

    I'm trying to import several critical reports from MS Access. The Access reports display subreports that are defined as multi-column. The parent report displays such a subreport in a fixed-height subreport control, thus causing the subreport data to flow into multiple columns within the subreport rectangle.

    What happens in SSRS is that the subreport rectangle grows vertically, and all the subreport rows appear as one column.

    The rendering of the Access subreport cannot be reproduced in SSRS, thus I cannot offer these reports to the company via the report server.

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

    We’ll send you updates on this idea

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

    Upvotes: 29

    <=-=Sep 24 2008 12:10PM=-=>

    Hi, I’ve the same problem and not found solution in all the web, it would want that they fixed that problem because I need that report for a statement of account for a company in ssrs.

    I’d really appreciate any ideas you might have.

    Note: Sorrry for my english.

    <=-=Sep 30 2008 6:55PM=-=>

    Hello,

    Thanks for writing in about this. It sounds like you’re asking for sort of a “snaking” subreport that fills horizontally after it reaches its vertical limits. SSRS does not currently support such a construct and I’m not aware of any workarounds for this.

    I have converted this filing to a feature request and have marked it to be reconsidered as we begin our next round of planning. As such, I will leave this issue active. I encourage the MS Connect community to vote on this request if they have a…

  7. Make Latin1_General_(100)_CI_AS the default collation for US English

    This description is identical with:
    https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=357973

    When installing SQL Server you need to select a server collation. However, Setup permits you to go with a default. This may seem convenient, but it often backlashes, because the default is unsuitable for a number of reasons.

    A real-world case: I was contacted by a guy who was fearing for his job, if he could not get some speed out of his database. The query he show me was a simple lookup the PK. The problem was that the application (using Java in Websphere) worked with Unicode, but the table had varchar keys.…

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

    We’ll send you updates on this idea

    1 comment  ·  Setup + Deployment  ·  Flag idea as inappropriate…  ·  Admin →

    Upvotes: 10

    <=-=Aug 6 2008 10:15AM=-=>

    Hello,

    Thank you for sharing your ideas. As you say this one is somewhat less revolutionary than not having a default collation at all; you’re also right that the major obstacle in doing it is a back-compat. That being said the idea is still being discussed. I will keep you informed on the results of the discussion.

    Thanks,
    Krzysztof Kozielczyk

    <=-=Aug 6 2008 12:07PM=-=>

    I would be intrigued to know, what exactly is this backwards compatibility issue about? The only I can think of is existing scripts for unattended install, but I would expect such scripts to require modifications for new versions of SQL Server anyway. Is there something I have overlooked. I would appreaciate if you could details this, either here, or via private note over email.

    <=-=Mar 17 2011 11:24AM=-=>

    Hello Erland,

    Thank you for submitting this suggestion, but we’re trying to…

  8. Allow enabling and disabling of a column's IDENTITY property

    Sometimes IDENTITY columns need to be cleaned up a bit -- their values updated or re-ordered, for instance. This can occur when data replication strategies fail, or when unexpected data was inserted. This is a somewhat rare occurrence, but when it does happen it can be extremely painful due to the fact that IDENTITY columns cannot be updated, and the property cannot be enabled or disabled. As a result, in most cases doing what should be a simple update requires creation of a new table.

    Likewise, we sometimes want to be able to turn an existing column into an IDENTITY…

    3 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: 60

    <=-=Jan 18 2007 10:51AM=-=>

    Thank you for the feedback, we’ll look into ways to improve on the scenario you describe.

    Thanks,

    - Christian Kleinerman

    <=-=Jul 5 2007 12:27AM=-=>

    IDENTITY columns CAN be updated! See workaround…

    <=-=Feb 21 2008 8:08AM=-=>

    Workaround doesn’t work in 2000 or 2005.

    I would rate updates more important than turn on/off, but both would be very handy.

    <=-=Oct 16 2009 4:00AM=-=>

    @way0utwest – the workaround definitely does work in 2005 – I used it just the other day!

    <=-=Feb 4 2010 5:16PM=-=>

    I have added a partial workaround using ALTER TABLESWITCH.
    I do agree that this would be a useful extension to ALTER TABLE ALTER COLUMN though…

    <=-=May 2 2013 8:10PM=-=>

    I just realised how painful having identity columns !! we recently wanted to merge two client databases (their businesses merging) and it became a nightmare!! Because we used identities as…

  9. Attach with NoRecovery

    For VLDB and Highly Available users with SAN copy infrastructure, the ability to attach a database with NORECOVERY to use as a log shipping target would be a big benefit. This would leverage the SAN copy with the SQL attach capability to quickly initialize log shipping partners.

    3 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: 13

    <=-=Apr 18 2007 9:54AM=-=>

    Thank you for your suggestion.
    This is functionality which we are actively investigating, but cannot commit to at this point.
    I will keep you informed as the situation develops.

    <=-=May 14 2007 10:18AM=-=>

    This suggestion is being closed as a duplicate of another suggestion for the same functionality. Rest assured that the idea is not rejected, we’re just consolidating the work items in our database to make tracking more manageable.

    <=-=May 14 2007 10:19AM=-=>

    Closing as duplicate as previously discussed

    <=-=May 14 2007 10:20AM=-=>

    Item being closed as previously discussed.

    <=-=Jun 14 2007 10:06AM=-=>

    What is the duplicate suggestion this was consolidated into? I want to add that to my watch list.

    <=-=Feb 4 2009 8:16AM=-=>

    Typically the SAN vendors utilize the VDI API layer to coordinate these external backups with SQL Server (BACKUP DB WITH SNAPSHOT…). This creates a header (.bak)…

  10. triggers before insert and row level.

    Need to have real Before triggers and row level triggers. SQL doesn't have these triggers or sequences. They have "instead of" but not a real Before Trigger like enterprise level databases have. It's a real pain to program in SQL or to convert from Oracle or MySQL.

    3 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: 43

    <=-=Jul 3 2007 12:12AM=-=>

    BEFORE triggers are part of ANS SQL 99 (and 2003), and as such have been implemented by many manufacturers (Oracle, IBM).

    It’s time MS implemented ANS SQL.

    <=-=Jul 8 2007 5:49AM=-=>

    That request is for 3 features instead of one!
    1) I agree about Before Triggers
    2) Row triggers are easily done with SQL although with non ANSI syntax. But they are a bad practice, so low priority for me.
    3) Sequence would be nice eventually, but it is not a show stopper.

    <=-=Aug 13 2007 2:53PM=-=>

    Thank you for posting your request. We realize that BEFORE triggers are extremely useful, specifically in migration scenarios. Unfortunately, we are not able to provide this functionality in SQL Server 2008. We are considering it for a future release. Meanwhile, we suggest using INSTEAD OF triggers to achieve similar functionality.

    <=-=Aug 17 2007 1:01PM=-=>

    INSTEAD

  11. Defered Constraint Checking

    We often need to reload application tables, such as configuration, enumeration values etc which we do via a bulk insert from application generated export. When foriegn key constraints are added against these tables deleting and reloading data results in constraint violation. Since an alter statement cannot be placed in the same batch the process constraint disable/reenable cannot be performed within the context of the transaction to ensure constraint is reenabled if the data reload fails.

    3 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: 6

    <=-=Jul 9 2007 12:51PM=-=>

    Dupe of:

    https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=124624

    <=-=Jan 22 2008 2:09PM=-=>

    Kurt,
    Thanks for your valuable feedback and sorry for the late answer. As you might have seen in the community discussion comment of your submission, there is a related suggestion about the same issue. We are planning to implement this feature in our next major release. This other suggestion also includes a possible workaround, see https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=124624
    With best regards,
    Roman

    <=-=Apr 5 2010 3:12PM=-=>

    Hi,
    I have resolved your request as duplciate of feedback item below:

    https://connect.microsoft.com/SQLServer/feedback/details/124728


    Umachandar, SQL Programmability Team

  12. Dark theme leaves blank spots in query editor on resize

    I have the dark theme enabled in SSMS 18, and when I resize the application window, or resize the results panel, huge chunks of my query editor get blacked-out. The text is still there, and the glitch goes away when I scroll around, but it's a pain, and it looks bad when I'm presenting my work.

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

    We’ll send you updates on this idea

    1 comment  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  13. Change the title of a report to be different from .rdl file name

    If my RDL file is named Reportforseeingthings.rdl

    Displayed the web portal report title as "Report for seeing things"

    This would allow users to adhere to URL design best practices and give designers the ability to accomodate their clients naming pattern requests.

    2 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 →
  14. Dark Theme in DevOps ignores color in textboxes

    The Dark Theme for DevOps works nicely in general, but text in textboxes does not show font color/background color.

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

    We’ll send you updates on this idea

    0 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  15. Adding Multi-column IN clause support by SQL Server

    Currrently, SQL Server does not support multi-column IN clause. For example, the following query :
    Select * from tableA where (columnA, columnB) in select (columnX,columnY) from tableB
    will not run, failing by displaying the error :
    non-boolean type specified in a context where a condition is expected”

    2 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. UTF-8 in SQL 2019: Collation Precedence allows for silent truncation (data loss) implicitly converting Extended ASCII characters into UTF8

    In SQL Server 2019 CTP 2.1, VARCHAR data being implicitly converted from a non-UTF-8 Collation into a UTF-8 Collation can be silently truncated when Extended ASCII characters in being used (i.e. characters with values between 128 and 255). Standard ASCII characters (values 0 - 127) are not affected since they are 1 byte whether they are in a UTF-8 Collation or not. But Extended ASCII characters (i.e. those that change per each Code Page) are never 1 byte: they are usually 2 bytes (and possibly 3, though I'm not sure about this and haven't tested all of them).

    The problem…

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

    We’ll send you updates on this idea

    4 comments  ·  Bugs  ·  Flag idea as inappropriate…  ·  Admin →
  17. UTF-8 in SQL 2019: Collation Precedence allows for Unicode character data loss concatenating UTF8 with higher precedence non-UTF8 VARCHAR

    In SQL Server 2019 CTP 2, if you have UTF-8 data and concatenate that with another VARCHAR value of a higher Collation Precedence, and having a non-UTF-8 Collation, the Code Page will change to that of the other Collation. And since a) that other Collation is a non-UTF-8 Collation, and b) the datatype is still VARCHAR, any characters that do not have a best-fit mapping in the destination Code Page will be converted into one or two "?"s (depending on if the character is BMP or Supplementary).

    To be fair, this scenario already existed, to a degree, when doing similar…

    2 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 →
  18. List of Databases on SQL Server Manager

    SQL Server Manager list all databases registered on the server, not taking into account the access restrictions that certain login might have, causing a user to get lost on that list and looking for a specific database he/she is interested in.

    2 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

    <=-=Dec 31 2010 3:54AM=-=>

    Hi Juan,

    We have another connect issue opened for same issue. As that issue currently has more vote count, we will consider your issue as duplicate of that issue and will keep tracking the other one.

    You can visit the other issue using this link http://connect.microsoft.com/SQLServer/feedback/details/345379/display-only-sql-server-objects-that-you-have-access-to

    We are planning to address this issue in SQL Server’s next major release.

    Regards,
    Sumesh

  19. NOT MATCHED and MATCHED parts of a SQL MERGE statement are not optimized

    The "MATCHED" and "NOT MATCHED" parts of a SQL MERGE statement are not optimized when criteria is based on constant or variable values, causing the statement to run for unnecessarily long periods of time and consume excess resources even though no action can actually be performed due to the criteria. This causes the merge statement to perform great degrees of additional work as is demonstrated in the attached SQL file.

    As a workaround for this, we have had to remove parts of the merge statement and perform them separately within IF blocks thereby negating the luster of the MERGE statement…

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

    We’ll send you updates on this idea

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

    Upvotes: 17

    <=-=Jan 19 2011 4:53PM=-=>

    Dear Josh,
    Thanks for taking time to post this suggestion.
    The problem you mentioned comes from the fact that when you run a stored procedure for the first time, the query optimizer builds a plan which does not take into account that variable.
    So, as a workaround I would suggest to add OPTION, it will ensure that the procedure is recompiled and so will force to use a new plan.
    However, your suggestion is very valuable and concerns not only the MERGE statement but all cached plans. We will look into this problem in the upcoming releases.
    Best regards,
    Jean-Sebastien, SQL Server

    <=-=Jan 25 2011 11:06AM=-=>

    Creating the procedures with “WITH RECOMPILE” did not change the performance of the procedure. The MERGE statement still seems to scan the data unnecessarily.

    We have created a separate merge statement within each of the…

  20. Allow Multiple Column Subqueries

    There is no implementation in TSQL to allow for Multiple Column Subqueries.

    2 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: 5

    <=-=Sep 27 2010 11:47AM=-=>

    Hi,
    Thanks for your feedback. We are already tracking the request for row value constructor at:

    https://connect.microsoft.com/SQLServer/feedback/details/299231

    So I will resolve yours as duplicate of the above connect item.


    Umachandar, SQL Programmability Team

    <=-=Sep 27 2010 12:26PM=-=>

    While it does seem to be a duplicate of the other request, I see the other request has been open for 3 years. Will this feature ever be implemented?

  • Don't see your idea?

SQL Server

Feedback and Knowledge Base