|
| 1 | +--- |
| 2 | +title: Azure SQL Data Warehouse Release Notes May 2018 | Microsoft Docs |
| 3 | +description: Release notes for Azure SQL Data Warehouse. |
| 4 | +services: sql-data-warehouse |
| 5 | +author: twounder |
| 6 | +manager: craigg-msft |
| 7 | +ms.service: sql-data-warehouse |
| 8 | +ms.topic: conceptual |
| 9 | +ms.component: manage |
| 10 | +ms.date: 05/25/2018 |
| 11 | +ms.author: twounder |
| 12 | +ms.reviewer: twounder |
| 13 | +--- |
| 14 | + |
| 15 | +# What's new in Azure SQL Data Warehouse (May 2018)? |
| 16 | +Azure SQL Data Warehouse receives improvements continually. This article describes the new features and changes that have been introduced in May 2018. |
| 17 | + |
| 18 | +## Gen 2 Instances |
| 19 | + |
| 20 | +Azure SQL Data Warehouse Compute Optimized Gen2 tier sets new performance standards for cloud data warehousing. Customers now get up to five times better query performance, four times more concurrency, and five times higher computing power compared to the current generation. It can now serve 128 concurrent queries from a single cluster, the highest of any cloud data warehousing service. |
| 21 | + |
| 22 | +See the [Turbocharge cloud analytics with Azure SQL Data Warehouse](https://azure.microsoft.com/blog/turbocharge-cloud-analytics-with-azure-sql-data-warehouse/) blog announcement from Rohan Kumar, Corporate Vice President, Azure Data. |
| 23 | + |
| 24 | +## Features |
| 25 | + |
| 26 | +### Rejected Row Support |
| 27 | +Customers often use [PolyBase (External Tables) to load data](design-elt-data-loading.md) into SQL Data Warehouse because of the high performance, parallel nature of data loading. PolyBase is the default loading model when loading data via [Azure Data Factory](http://azure.com/adf) as well. |
| 28 | + |
| 29 | +SQL Data Warehouse adds the ability to define a rejected row location via the `REJECTED_ROW_LOCATION` parameter with the [CREATE EXTERNAL TABLE](https://docs.microsoft.com/sql/t-sql/statements/create-external-table-transact-sql) statement. After the execution of a [CREATE TABLE AS SELECT (CTAS)](https://docs.microsoft.com/sql/t-sql/statements/create-table-as-select-azure-sql-data-warehouse) from the external table, any rows that could not be loaded will be stored in a file near the source for further investigation. |
| 30 | + |
| 31 | +See the [Load confidently with SQL Data Warehouse PolyBase Rejected Row Location](https://azure.microsoft.com/blog/load-confidently-with-sql-data-warehouse-polybase-rejected-row-location/) blog for more details on the Rejected Row behavior. |
| 32 | + |
| 33 | +The following example shows the new syntax for specifying Rejected Rows. |
| 34 | + |
| 35 | +```sql |
| 36 | +CREATE EXTERNAL TABLE [dbo].[Reject_Example] |
| 37 | +( |
| 38 | + ... |
| 39 | +) |
| 40 | +WITH |
| 41 | +( |
| 42 | + ... |
| 43 | + ,REJECTED_ROW_LOCATION=‘/Reject_Directory' |
| 44 | +) |
| 45 | +``` |
| 46 | +
|
| 47 | +### ALTER VIEW |
| 48 | +[ALTER VIEW](https://docs.microsoft.com/sql/t-sql/statements/alter-view-transact-sql) allows a user to modify a previously created view without having to DELETE/CREATE the view and reapply permissions. |
| 49 | +
|
| 50 | +The following example modifies a previously created view. |
| 51 | +```sql |
| 52 | +ALTER VIEW test_view AS SELECT 1 [data]; |
| 53 | +``` |
| 54 | +
|
| 55 | +### CONCAT_WS |
| 56 | +[The CONCAT_WS()](https://docs.microsoft.com/sql/t-sql/functions/concat-ws-transact-sql) function returns a string resulting from the concatenation of two or more values in an end-to-end manner. It separates the concatenated values with the delimiter specified in the first argument. The `CONCAT_WS` function is useful for generating Comma-Separated Value (CSV) output. |
| 57 | +
|
| 58 | +The following example shows concatenating a set of int values with a comma. |
| 59 | +```sql |
| 60 | +SELECT CONCAT_WS(',', 1, 2, 3); |
| 61 | +``` |
| 62 | +The following example shows concatenating a set of mixed data type values with a comma. |
| 63 | +```sql |
| 64 | +SELECT CONCAT_WS(',', 1, 2, 'String', GETDATE()) |
| 65 | +``` |
| 66 | +
|
| 67 | +### SP_DATATYPE_INFO |
| 68 | +The [sp_datatype_info](https://docs.microsoft.com/sql/relational-databases/system-stored-procedures/sp-datatype-info-transact-sql) system stored procedure returns information about the data types supported by the current environment. It is commonly used by tools connecting through ODBC connections for data type investigation. |
| 69 | +
|
| 70 | +The following example retrieves details for all data types supported by SQL Data Warehouse. |
| 71 | +
|
| 72 | +```sql |
| 73 | +EXEC sp_datatype_info |
| 74 | +``` |
| 75 | +
|
| 76 | +## Behavior Changes |
| 77 | +### SELECT INTO with ORDER BY |
| 78 | +SQL Data Warehouse will now block `SELECT INTO` queries that contain an `ORDER BY` clause. Previously, this operation would succeed by first ordering the data in memory and then inserting into the target table reordering the data to match the table shape. |
| 79 | +
|
| 80 | +#### Previous Behavior |
| 81 | +The following statement would succeed with additional processing overhead. |
| 82 | +```sql |
| 83 | +SELECT * INTO table2 FROM table1 ORDER BY 1; |
| 84 | +``` |
| 85 | +
|
| 86 | +#### Current Behavior |
| 87 | +The following statement will throw an error indicating the `ORDER BY` clause is not supported in a `SELECT INTO` statement. |
| 88 | +```sql |
| 89 | +SELECT * INTO table2 FROM table1 ORDER BY 1; |
| 90 | +``` |
| 91 | +The error statement returned: |
| 92 | +``` |
| 93 | +Msg 104381, Level 16, State 1, Line 1 |
| 94 | +The ORDER BY clause is invalid in views, CREATE TABLE AS SELECT, INSERT SELECT, SELECT INTO, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified. |
| 95 | +``` |
| 96 | +
|
| 97 | +### SET PARSEONLY ON query status |
| 98 | +Using the `SET PARSEONLY ON` syntax allows a user to have the SQL Data Warehouse engine examine the syntax of each T-SQL statement and return any error messages without compiling or executing the statement. Previously, in the [sys.dm_pdw_exec_requests](https://docs.microsoft.com/sql/relational-databases/system-dynamic-management-views/sys-dm-pdw-exec-requests-transact-sql) system view, the status for these statements would remain in the `Running` state. The `sys.dm_pdw_exec_requests` view will now return the status as `Complete`. |
0 commit comments