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.
-
Dark Theme for SQL Server Management Studio 2017 (SSMS 2017)
Dark Theme works well in Visual Studio and should be included in SSMS. It helps reduce eye strain after long periods of development and debugging.
363 votes -
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…97 votesUpvotes: 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… -
Dark Theme
Dark theme for SQL Server 2017 SSMS is missing.
91 votesThere is no plan to invest on the dark theme for SSMS.
Please, feel free to upvote item #33076054 and add your comments there, in case we end up bringing it back.
-
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.
70 votesObject 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. -
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.entryCurrently, this must be written as
SELECT T1.this, T2.that
FROM T1 JOIN T2
ON (
T1.entry = T2.entry …56 votesUpvotes: 289
<=-=Aug 9 2007 9:12AM=-=>Benefits:
<=-=Aug 27 2007 6:13PM=-=>
Improved Readability, therefore Maintainablity, therefore reduced manpower $ and time expenditure.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,
<=-=Oct 17 2007 2:06PM=-=>
EricThings 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,…
-
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
50 votesUpvotes: 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
<=-=Aug 11 2010 8:03AM=-=>
Microsoft SQL ServerI 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 =… -
Ability to upgrade SQL Server Management Studio directly from About menu
I think it will be really cool to update the management studio directly from the about menu when it is open and also it for checking for new versions and notify us.
Thanks in advance
38 votesWe have a “Check for updates link” in the Tools menu today, and SSMS prompts you to upgrade when it detects a new version unless you have turned off auto-check for updates. We have no plans to further automate these updates. We are pushing more updates through WSUS for enterprise installations.
-
The Scalar Expression function would speed performance while keeping the benefits of functions.
SQL Server scalar User-Defined Functions (UDFs) have a performance problem that could be solved with an enhancement to the SQL Server database engine. Because SQL Server must execute each function on every row, using any function incurs a cursor like performance penalty.� However, since many UDFs are simple, they can often be converted to a single expression.� This suggestion proposes that a new type of UDF, the Scalar Expression UDF, be added to SQL Server.� Doing so would often eliminate the performance penalty paid when using scalar UDFs and allow them to be used more widely.� Using UDFs has the…
37 votesUpvotes: 407
<=-=Oct 11 2007 4:28AM=-=>ANS SQL 99 actualy defines a syntax (section 11.49) for function definition that can be used for an inline scalar function (body consisting of a single RETURN statement) – inlining being an implementation rather than a definitional issue. There are other database products (e.g. IBM DB2 UDB) that already support this, so going the ANS way would assist portability.
The enhancement is clearly necessary.
<=-=Oct 11 2007 8:45AM=-=>In other programming languages, this might be a macro expansion, where an include file contains the macro, which expands into inline code at compile time. (I believe that this was discussed as a possibility in the very early days of Yukon.) In any case, however implemented, Inline Scalar UDF would be a major improvement over the speed-bump that exists now.
I was going to post this myself, but happily add my vote to the existing…
-
Please create a redistributable command-line equivalent for SSMS -> Extended Events -> Export
We've created a .NET C# based export for XEL to CSV using QueryableXEventData but it takes 4 minutes to export a 1GB file. In SSMS, clicking Extended Events -> Export -> CSV takes 45 seconds for the same file.
Unfortunately, interative SSMS is required, so the process cannot be automated. Please create a command-line executable so we can automate the export at the delicious speeds of SSMS.
Also, if the NULL can be removed from output in both SSMS and the command line tool, that would be far better.
29 votesSince it looks like you’re in the same ballpark as SSMS we will focus on other items for now.
-
Window Functions (OVER Clause) - Reuse of Window Definitions with WINDOW Clause
This item is related to: https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=254391, only the former suggestion wasn't standard whereas the current one is. Therefore the current is preferred.
With several window functions that rely on the same window definition (or part of it), there's a lot of repetition of code. Standard SQL has a clause called WINDOW that allows naming a window definition or part of it, making it reusable.
For example, instead of:SELECT empid, ordermonth, qty,
SUM(qty) OVER ( PARTITION BY empid
ORDER BY ordermonth
ROWS BETWEEN UNBOUNDED PRECEDING
AND CURRENT ROW ) AS run_sum_qty,
AVG(qty) OVER ( PARTITION BY empid
ORDER BY…26 votesUpvotes: 173
<=-=Sep 27 2010 2:23PM=-=>Hi Itzik,
Thanks for your feedback on WINDOW clause. We will consider it for a future version of SQL Server.—
<=-=Mar 21 2011 8:27PM=-=>
Umachandar, SQL Programmability TeamI’m currently migrating an established application from another database platform to SQL Server. There’s a big, powerful chunk of the app missing due to the absence of the WINDOW clause functionality.
I wouldn’t even want to think of how to implement this type of processing in SQLCLR, if that’s even possible.
And if WINDOW is standard SQL, shouldn’t it be included in the Microsoft product? Competitors have it.
<=-=Mar 2 2012 1:18PM=-=>Reuse of Window Definitions with WINDOW Clause
This has been rolled up into our “Window Aggregates Enhancements” DCR for future consideration. Thank you for reporting it. All the information you provided has been captured for future reference.Thanks,
<=-=Nov…
Marc Friedman -
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?
20 votesUpvotes: 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,
<=-=Mar 24 2010 2:54PM=-=>
-IsaacHi,
I have resolved this request as duplicate of feedback item below:—
<=-=Mar 24 2010…
Umachandar, SQL Programmability Team -
Table of Contents in SSRS
Reporting Services should allow the dynamic creation of a table of contents for a given report.
The intial version should at least be able to state the page number of given objects (table, chart etc), with 'grouping' level links in subsequent releases.
Interactive versions should contain hyperlinks to the given page.
It should offer various styles as to how this may be achieved i.e. roman numerals for sections, filler dots for proportional width fonts between item and page number
17 votesUpvotes: 25
<=-=Jun 15 2010 3:54AM=-=>I completely agree.
I’ve googled and can’t even find a work around to create a professional style report with a table of contents.
Would be extremely useful.
<=-=May 26 2011 8:15AM=-=>Agreed. This needs to be built into the product.
In addition to what was said above, I would request that this table of contents page end up as page 1 when you export to PDF and end up as page 1 when you print. (The document map doesn’t print, and it only appears in the bookmarks tab in Adobe Reader.)
A hack of a workaround is mentioned here. I�m not wild about it. We have to deploy a custom assembly� we have to store this info in a database table� we have to account for storing the page count per report per parameter combination per user (in case there�s data level user security).…
-
Dark Theme in SSMS 2017
I am new here. Using SQL server for maybe 1 year and I am really sad because you don't have the dark theme... I hope you will be available it soon, thanks :)
i can do something like this: https://www.sqlshack.com/setting-up-the-dark-theme-in-sql-server-management-studio/, but it not as good as original :/
13 votesThere is no plan to invest on the dark theme for SSMS.
Please, feel free to upvote item #33076054 and add your comments there, in case we end up bring it back.
-
Allow Developer Edition to Emulate Feature Set of Different Editions
Since developer edition of SQL Server supports the Enterprise Edition feature set, it is easy to develop solutions that use Enterprise-only features when the solution will be deployed to Standard, Workgroup or Express edition.
12 votesUpvotes: 13
<=-=Nov 10 2009 2:43PM=-=>There is already an existing item on that:
http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=381744
-Jens
<=-=Sep 23 2011 1:40PM=-=>Thanks for the feedback Chuck – Jens is correct in that this item is already being tracked via 381744.
Erick Ellis
ericke@microsoft.com -
SSMS Standard Reports -- Include as .rdl files
Include the standard reports as .rdl files so that they can be modified and saved back into the "Custom Reports" folder.
10 votesThanks for the feedback. We are not currently planning on addressing this, but we’ll think of something.
-
The optimizer should considering materialising results of CTEs
If you refer to a CTE multiple times in a query, SQL Server will in practice compute the CTE for every appearance. This means that in some situations as a user it is better for me to materialise the result into a temp table, and then run a query on a temp table. On the other hand there are situations where this adds extra overhead, and causes the entire batch to run slower.
Below is an example with a query where a CTE/temp table is self-join three times. The idea of the query is to show the change in order…
10 votesUpvotes: 25
<=-=Jan 30 2011 2:35PM=-=>Adam Mechanic and I have asked for hints to force materialization (218968 and 483181); however, I’d settle for auto-magic from the optimizer!
<=-=Jan 31 2011 9:30AM=-=>Thanks for the feedback, Erland. This is a known issue and we’ll consider it for a future release. It’s not something we’ll be able to do anything about for Denali RTM though. We appreciate your suggestion!
Best regards,
<=-=Feb 3 2011 11:26AM=-=> Thanks Michael! -Eric <=-=Jan 31 2012 10:21AM=-=>
Eric Hanson
Program Manager
SQL Server Query ProcessingWe closed this as a duplicate. -Eric
-
New security role for SQL Agent - SQLAgentAdminRole
I feel the SQL Agent roles are too limiting. If you want to allow freedom in a development, or assign management of SQL Agent jobs to a person; even SQLAgentOperatorRole doesn't do much. This means SysAdmins are still required to assist others in altering/removing jobs.
I propose a new role that allows the member to do anything with SQL Agent, like a member of SysAdmin, but without the access to all other parts of SQL Server that SysAdmin provides.
9 votesThanks for the suggestion. We are not currently planning to do any work on this, though.
-
full justification in reporting services 2008 needed
full justification is a basic need in a reliable reporting solution, advanced formatting options like in crystal reports would make a better product but justification is mandatory.
9 votesUpvotes: 527
<=-=Jan 27 2009 11:47AM=-=>Thank you for providing this feedback. We will consider adding this functionality in a future release of SQL Server. If there are other rich formatting requirement that you have, please do add details to this item for those additional features also.
<=-=Dec 3 2009 11:21AM=-=>When is this justify text going to be out? You commented on 1/27/2009 and it’s nearly a year since this has been resolved. How come the Silverlight team and accommodate the top requests within a few month but SQL team cannot do the same?
<=-=Mar 23 2010 12:37PM=-=>In many cases a reporting tool is the best option to provide formatted data to clients, shareholders, and other individuals where the appearance of the report is as important as the accuracy of the data. It has to look good, not just be correct.
This is a serious deficiency, and while …
-
Provide a hint to force intermediate materialization of CTEs or derived tables
When working with SQL Server CTEs or derived tables, the query optimizer is free to in-line the inner queries, thereby changing the physical processing characteristics of the query. This is generally a good thing, but in some cases we (database developers working with the product) can make a better decision that the query optimizer and need to override it. In many cases this is handled (join and query hints), but one place that we currently have no control is intermediate materialization of derived tables. There are many cases in which materializing the inner set first produces a much better plan,…
9 votesUpvotes: 174
<=-=Oct 12 2006 2:21PM=-=>Dear Adam,
Thanks for your feedback. I think this idea has quite a bit of merit. You would like a way to tell the query processor to evaluate query subexpressions in a constrained order. There is no perfect workaround right now. You could use a multi-statement TVF, but that is hard to program and hard to read. Your workaround requires an extra sort. We’ll consider this as an improvement for a future release.
Regards,
<=-=Feb 4 2010 8:40AM=-=>
EricSELECT x.EmployeeID,
(
SELECT COUNT_BIG(*)
FROM HumanResources.Employee AS e
WHERE e.ManagerId = x.ManagerID
) AS theCount
FROM HumanResources.Employee AS x
WHERE x.ManagerID IS NOT NULL;is also 4 logical reads – no materialization needed.
In general, I’m not so sure about the need for this. If I truly need to materialize an intermediate result (which is typically quite small) I’m happy using a…
-
Plain Text Password in Maintenance Plans
The user and password of the user that create a Maintenance Plans using the MSSMS is save in plain text, you can use the following query to access this informaci�n.
SELECT CAST(CAST(packagedata AS VARBINARY(max)) AS VARCHAR(max)) FROM sysssispackages
WHERE name LIKE 'MaintenancePlansName'This will show the xml of Maintenance Plans including the user and password.
8 votesWe’ll investigate this, but currently do not have any concrete plans for a fix.
- Don't see your idea?