SQL Anywhere 17 Announced!
I am excited today to announce that the next major evolution of SQL Anywhere is now available! Enhancements in this release continue our long running themes to improve performance, security, availability, and developer friendliness, while still being easy-to-use, and easy to embed.
SQL Anywhere 17 has been in development for over two years. There are literally hundreds of new features, but I would like to highlight a few important ones:
- SQL Anywhere Cockpit – a web based interface to see the availability, capacity and performance of your server.
- SQL Anywhere Profiler – development tool that pulls together all the various performance and tuning data the server has available to enable easier tuning and troubleshooting of your application and database
- Auto-Detect CPU changes – SQL Anywhere can now detect newly added (or removed) CPUs from the system and make use of those CPUs appropriately without the need for a server restart
- Mirroring performance – Mirror or copy node checkpoint performance has increased especially in cases of many inserts, updates or deletes on a primary server.
- Parallel recovery – SQL Anywhere can now makes better use of multi-core machines during the database recovery phase.
- Prefetch – Improved prefetching which assists performance by cutting down on client/server round trips, and increases throughput by making many rows available without a separate request to the server for each row or block of rows.
- Increased password protection – The default DBA user name and password (DBA/sql) will no longer be used by dbinit and CREATE DATABASE statement, and the default minimum password length has been changed to 6 from 3. The DBA username and password must be provided when creating new database. In addition, a new option has been added to allow the user to specify the minimum password length.
- Database isolation – Support has been added for enabling database isolation for a database server. When database isolation is turned on, each database behaves as though it is the only database running on the database server.
- Alter/drop procs – Previously, attempting to alter, replace, or drop a procedure that was being executed would result in an error. Now, the alter, replace, or drop succeeds. Current executions use the procedure definition from when the procedure started executing. New calls to the procedure after an alter, replace, or drop, use the new definition.
- Online rebuild – You can now rebuild a production database while the database is running, which reduces downtime.
- Point-in-time recovery – You can now restore a database to a specified time stamp or to an offset in the transaction log.
- Dynamically start/stop TCP-IP/HTTP – Support added for starting and stopping connection listeners while the database server is running (database upgrade or rebuild required) – ie. you can now start and stop HTTP, HTTPS, TCP/IP, and shared memory connection listeners without having to restart the database server.
- PIVOT/UNPIVOT – You can now pivot and unpivot table data using two clauses, PIVOT and UNPIVOT, in the FROM clause of a query to create pivoted- or unpivoted-derived tables. Pivoting rotates column data into rows and aggregates data in a meaningful way for your business needs. Unpivot is a similar operation, but rotates row data into columns. Unpivoting is useful for normalizing un-normalized data, such as several columns of similar data that must be joined with other data.
- DECLARE VARIABLE LIKE – You can use the %TYPE and %ROWTYPE attributes to define the data type(s) based on the data type of other objects. When creating schema objects such as columns, use the %TYPE attribute to set the data type of the object you are creating or altering, to the data type of a column in a table or view. Use the %ROWTYPE attribute to set the data types to the composite data type for a row in a table or view. When creating variables, you can also use the %TYPE and %ROWTYPE attributes to set the data type to the data type of temporary objects such as variables and cursors
- FETCH INTO <row var> – The SELECT statement now includes the INTO VARIABLE clause to support specifying row variables and the INTO TABLE clause to support explicitly creating a new table. The FETCH statement now allows you to specify a row variable in the INTO clause
- Users locks – Build user-defined mutexes and semaphores into your application logic to achieve locking behavior and control and communicate the availability of resources.
- OData Enhancements – The SQL Anywhere database server can act as an OData server. This functionality replaces the OData Server utility. In addition, the The OData producer now supports a greater subset of the OData Service Definition Language (OSDL).
- Consolidated db – MobiLink has support for SAP ( ASE, IQ, SQLA), Oracle, Microsoft, IBM, MySQL back-end databases. We continue to add support for newer versions of these databases. In v17, we added support for Oracle 12.1, ASE 16, SS 2014,MySQL 5.6.20, IBM DB2 10.5.
- HANA Integration – with our SAP HANA Remote Data Sync product, MobiLink becomes more tightly integrated into the HANA platform infrastructure (assigned port numbers, lifecycle management, name server integration, license management, monitoring integration).
- SAP Passport support and NCSLib logging
Complete details of all the enhancements in SQL Anywhere version 17 are available in our online documentation system: Doc Comment Exchange (DCX), located here: DocCommentXchange
As well, you may find Laura’s blog post of interest in navigating the documentation: SQL Anywhere 17 Documentation – At your fingertips!
You can download the Developer Edition for Windows and Linux here:
The entire SAP SQL Anywhere thanks you for your dedication to the SQL Anywhere product!