(last updated: 2021-07-19 @ 17:20 ET / 2021-07-19 @ 21:20 UTC)
SQL Server
Enhancements / Suggestions
- ACTIVE
- Update Collation of Partition Functions and User-Defined Table Types via SQLSERVR -Q ( Collation / Setup )
- NCHAR() function should always return Supplementary Character for values 0x10000 – 0x10FFFF regardless of active database’s default collation ( Collation / Supplementary Characters )
- Support standard escape sequences in strings (e.g. unescape "\t" into CHAR(9), "\n" into CHAR(10), etc) ( General )
- Vulnerability Assessment rule definitions should be maintained on GitHub for easier fixing and updating ( SSMS / Vulnerability Assessments )
- UTF-8 in SQL 2019: Add Turkish_100_BIN2_UTF8 collation to handle Turkish / Azeri case mappings for "i" and "I" ( Collation / UTF-8 )
- SSMS: Allow Multi-line Grid Results header values by respecting newline / CRLF in column name or alias ( SSMS )
- SSMS: Allow forcing case-insensitive matching in Object Explorer filters ( SSMS )
- Allow collation set by variable when using the COLLATE clause (at least in expressions) ( Collation )
- Add special collation INSTANCE_DEFAULT to work like COLLATE DATABASE_DEFAULT but uses instance’s default collation ( Collation )
- Allow restricted EXTERNAL_ACCESS for SQLCLR on Linux and in Azure Managed Instances ( SQLCLR / Linux / Security )
- Expose public_key of Certificate in sys.certificates, just like sys.asymmetric_keys is doing ( Security / SQLCLR / Module Signing / SSDT )
- Intercept query batch from client to rewrite it or cancel it ( General )
- Please add missing properties to COLLATIONPROPERTY built-in function and/or sys.fn_helpcollations() ( Collation )
- Allow Asymmetric Key to be created from binary hex bytes string just like CREATE CERTIFICATE (SQLCLR) ( Security / SQLCLR / Module Signing / SSDT )
- Add function to extract Asymmetric Key similar to CERTENCODED for Certificates (SQLCLR / SSDT) ( Security / SQLCLR / Module Signing / SSDT )
- Add MSBuild predefined Targets for "BeforeSqlBuild" and "BeforePublish" to SSDT SQL Server Database Projects ( Security / SQLCLR / Module Signing / SSDT )
- Allow TVFs (T-SQL and SQLCLR) to provide user-defined row estimates to query optimizer ( Performance / SQLCLR )
- Add “type” and “type_desc” fields to sys.databases DMV (to make life easier on EVERYONE) ( Administration )
- SSDT – Support T-SQL parameter defaults for SQLCLR objects via the SqlFacet attribute when generating the publish and create SQL scripts ( SSDT / SQLCLR )
- Allow CLR UDT to return IEnumerable / Table / TVF from a method ( SqlMethod ) like XML.nodes() SQLCLR ( SQLCLR )
- Allow signing Database DDL Triggers and Server DDL and Logon Triggers – ADD SIGNATURE ( Administration / Security / Module Singing )
- Support “natural sorting” / DIGITSASNUMBERS as a Collation option ( Collation )
- SSDT – Support ORDER clause for SQLCLR TVFs via the SqlFunction attribute when generating the publish and create SQL scripts ( SSDT / SQLCLR )
- Support default parameter values for NVARCHAR(MAX), VARBINARY(MAX), and XML types in SQLCLR objects ( SSDT / SQLCLR )
- Implement OnNullCall property in SqlFunctionAttribute for RETURNS NULL ON NULL INPUT SQLCLR ( SSDT / SQLCLR )
- STRING_SPLIT needs "RemoveEmptyEntries" option, like String.Split in .NET ( General Programming )
- Scalar function to get last sequence value used, similar to SCOPE_IDENTITY() ( General Programming )
- FIXED
- WON’T FIX
- Add missing fields from sys.databases to DATABASEPROPERTYEX ( not migrated in move from Connect to Feedback / UserVoice )
Bugs
- ACTIVE
- Trusted Assemblies are more problematic yet less functional than Certificates – Please Remove ( SQLCLR / Security / Module Singing )
- SSMS: Scripting server property change generates “@configvalue” param of sp_configure as string instead of number ( SSMS )
- Incorrect description for IACCEPTPYTHONLICENSETERMS option in ConfigurationFile.ini generated by SETUP.EXE ( Setup )
- SSMS: “Additional properties” in “New Assembly” dialog is misleading as it doesn’t describe DLL being imported ( SSMS / SQLCLR )
- Collation of [syscolumns].[collation] column is incorrect starting in SQL Server 2012 ( Collation )
- Expose source module [object_id] / @@PROCID and [database_id] in <Batch> element of Execution Plan ( General )
- UNICODE() function sometimes returns incorrect value when input is an invalid surrogate pair of only a high-surrogate code point ( Collation / Supplementary Characters )
- UTF-8 in SQL 2019: binary collation ( Latin1_General_100_BIN2_UTF8 ) should work with NTEXT instead of getting Msg 4189, Level 16 error ( Collation / UTF-8 )
- SSMS 18.4 crashes (and usually restarts) when ALT-selecting code point U+0090 in query editor, but only in block comment ( SSMS )
- SSMS 18.3.1 IntelliSense does not recognize MOVE TO as a valid option for DROP INDEX ( SSMS )
- sqlservr.ini in same folder as sqlservr.exe prevents startup but no error message or even log file ( General )
- Restoring databases into newer versions of SQL Server will create missing Internal Tables with incorrect collation ( Collation )
- sp_validname incorrectly returns 1 / true if name being checked contains code point U+FFFF which is invalid, even for delimited identifiers ( Unicode )
- QUOTENAME considers 0xFFFF to be valid, but needs to return NULL if that character exists in input value ( Unicode )
- SSMS: Object Explorer Filtering allows for SQL Injection (oops) ( SSMS )
- xp_logininfo gets “Msg 468, Level 16, State 9: Cannot resolve the collation conflict…” when DB collation doesn’t match instance collation ( Collation )
- SSMS scripting CLR stored procedure NVARCHAR parameter NULL default as N” (empty string) ( SQLCLR )
- EXECUTE T-SQL string concatenates NULL variable as an empty string instead of making concatenated string NULL ( General )
- UTF-8 in SQL 2019: Inconsistent handling of invalid UTF-8 byte sequences ( Collation / UTF-8 )
- ‘Windows API call “RegGetValueW”‘ error when displaying version in SQLLocalDB Utility 2016 and newer ( LocalDB )
- SQL Server 2017 on Linux ignores app config file if it exists, or locks-up if it doesn’t ( SQLCLR / Linux )
- “GO” in 2nd half of nested block comments breaks batch parsing in SSMS and SQLCMD ( Tools )
- XACT_STATE() returns 1 when used in SELECT with some system variables but without FROM clause ( General Programming )
- SSMS ignores final \r\n / CRLF / Carriage Return + Line Feed in PRINT and RAISERROR ( SSMS )
- “version” incorrectly showing as 0.0.0.0 in sys.assemblies and ASSEMBLYPROPERTY(name, ‘CLRName’) for unsigned SQLCLR Assemblies ( SQLCLR )
- BIN2 collations do not come through SqlCompareOptions of SqlString ( SQLCLR )
- Security error connecting to SQL Server Express LocalDB in SQLCLR using EXTERNAL_ACCESS and “(localdb)\Instance” connection string ( SQLCLR / LocalDB )
- SSMS 17.3 IntelliSense does not recognize CATALOG_DEFAULT as a valid collation ( SSMS / Collation )
- SSMS 17.3 IntelliSense collation-related validations do not adjust for Contained Databases ( SSMS / Collation / Contained Databases )
- SSMS 17.3 IntelliSense validates temporary stored procedures using case-sensitive comparison even on a case-insensitive instance ( SSMS / Collation )
- Contained Databases use TempDB Collation for Temporary Stored Procedure names instead of CATALOG_DEFAULT ( Collation / Contained Databases )
- Trusted Assemblies are more problematic yet less functional than Certificates – Please Remove ( SQLCLR / Security / Module Singing )
- FIXED
- SID_BINARY function aborts the connection if A-F is passed in ( not migrated in move from Connect to Feedback / UserVoice )
- UTF-8 in SQL 2019: NVARCHAR to VARCHAR(MAX) can get Msg 8152 “String or binary data would be truncated” ( Collation / UTF-8 )
- UTF-8 in SQL 2019: Invalid UTF-8 bytes get (Msg 682, Level 22, State 148) Internal error. Buffer provided to read column value is too small. ( Collation / UTF-8 )
- UTF-8 in SQL 2019: An error occurred while executing batch. Error message is: Internal connection fatal error. Error state: 15, Token : 0 ( Collation / UTF-8 )
- UTF-8 in SQL 2019: Install fails with "Could not find the Database Engine startup handle." if a Unicode-only Collation is selected ( Collation / UTF-8 / Setup )
- UTF-8 in SQL 2019: Binary UTF-8 Collations are missing ( Collation / UTF-8 )
- URGENT: “Feature Restrictions” actually increases chances of SQL Injection and must be removed immediately (before RTM) ( SQLCLR / Security / Module Singing )
- BY DESIGN
- Parameter, Variable, and Temporary Table & Procedure names / identifiers can be empty
- Inline Table-Valued Function TVF does not validate unused parameter ( not migrated in move from Connect to Feedback / UserVoice )
- WON’T FIX
- UTF-8 in SQL 2019: Collation Precedence allows for Unicode character data loss concatenating UTF8 with higher precedence non-UTF8 VARCHAR ( Collation / UTF-8 )
- UTF-8 in SQL 2019: Collation Precedence allows for silent truncation (data loss) implicitly converting Extended ASCII characters into UTF8 ( Collation / UTF-8 )
.NET / Visual Studio
Enhancements (via VisualStudio.UserVoice.com)
- Expose Collation Info of SQL Server Result Set via SqlDataReader ( VisualStudio.UserVoice.com no longer exists )
- Support “natural sorting” / SORT_DIGITSASNUMBERS via CompareOptions ( VisualStudio.UserVoice.com no longer exists )
Bugs
- TextInfo.ToTitleCase() incorrectly treating Circled Letters as Word Separators ( not migrated in move from Connect to DeveloperCommunity.VisualStudio.com )
- char.IsLetter() incorrectly reporting false for Circled Letters and Supplementary Character letters ( not migrated in move from Connect to DeveloperCommunity.VisualStudio.com )
- String SID produced by SecurityIdentifier.ToString does not exactly follow spec ( not migrated in move from Connect to DeveloperCommunity.VisualStudio.com )