Manage, Synchronize and Exchange Data

What’s new in SAP SQL Anywhere 17?

Quick Overview

SAP SQL Anywhere 17 is a noticeable step up from 16 and earlier releases: it introduces 100% web-based administration (the HTML-5 Cockpit), a more-parallel engine (parallel recovery, index creation, plan cache), modernised security (TLS 1.2+, CommonCryptoLib, SNI) and re-designed tooling (Profiler, dbisql, updated APIs). Patch levels up to PL 67 / 17.1 SP01 push the transition further: CommonCryptoLib adoption, TLS on TDS, Node.js 8 and PHP 7 drivers, the demise of the Flash Monitor, and more. Most of these changes require an update of start-up scripts, roles and sometimes a database rebuild to benefit from the extended catalog objects.

1. Monitoring & Diagnostics

1.1 SQL Anywhere Cockpit (HTML-5)

Server start-up: use the -cdb switch or call sa_server_option('CockpitDB', '…') online; read-only mode via -sf.

Roles & privileges: access is granted through the COCKPIT_ROLE (created automatically). The role now bundles ACCESS DISK INFORMATION so you can watch disk space without DBA rights.

Key features: automatic exclusion of the Cockpit's own connections from the global limit, URL exposure (CockpitURL), disk/cache-miss alerts, e-mail notifications, and seamless migration from a temporary to a permanent Cockpit database without losing history.

1.2 New-generation Profiler

"Full" vs "Targeted" modes: the latter collects only the statements that match your filters, which lets you profile production workloads for longer with low overhead.

Automatic workload analysis: guided report (blocking, CPU, workers, checkpoints) plus an export ready for SAP Support.

Easy launch: Windows Start-menu icon or dbprof at the command line; one-click diagnostic snapshots.

2. Engine Performance

2.1 Parallel Recovery & Faster Start-up

The server now replays transaction logs in parallel; the gain depends on core count, DML/DDL ratio and primary-key density—especially valuable for mirroring or dbsrv17 -a warm-start scenarios.

2.2 Generalised Plan Cache

Every statement, including client-side ones, can be cached; automatic parameterisation is steered by parameterization_level or an inline hint.

New proc sp_plancache_contents, privilege MANAGE CACHED PLANS and counter ParameterizationPrepareCount help you audit the benefits.

2.3 Intra-query & Index Parallelism

Use BEGIN PARALLEL WORK to build indexes or load tables in parallel; paired with smarter index scans and a topology-aware scheduler.

Tweak max_query_tasks (0 = server decides per query).

2.4 Network Packets & Auto-commit

Minimum packet size raised to 1000 bytes; a 17 SP01 server will refuse connections from older servers still at 500 bytes.

Server-side auto-commit: ClientAutocommit=no|yes, handy when frameworks (Hibernate, etc.) toggle setAutoCommit in tight loops.

3. Security & Cryptography

3.1 TLS 1.2 and SNI

Default min_tls_version = 1.2 for the server, MobiLink and UltraLite.

SNI support via sni_hostname on client/server.

skip_certificate_name_check=ON lets you bypass hostname verification in dev or reverse-proxy setups.

3.2 Switch to CommonCryptoLib

From PL 41 onward, encryption relies on SAP CommonCryptoLib; legacy OpenSSL/Certicom files disappear and allow_expired_certs is ignored because expired certificates are now blocked by default.

FIPS deployments must ship sapcryptofips / slcryptokernel and regenerate private keys in AES (3DES is gone).

3.3 New Client Policies

allow_expired_certs survives on MobiLink clients only (sync traffic) and should not be used in production.

SSL 3.0 support is fully removed.

4. Administration & Tools

4.1 Interactive SQL (dbisql)

Multi-tabs, lock indicator, graphical plan comparison, -we to turn warnings into errors, and legal -f + -c combos.

Connect/Disconnect toolbar buttons for quicker switching.

4.2 CLI Utilities

dbunload / dbxtract: new -ru, -dt, -kdi switches.

dblog and DBTools now enforce version checks to prevent writing on newer formats.

4.3 Database Variables, Pivot/Unpivot

Database-scope variables with privilege set (CREATE DATABASE VARIABLE, etc.) and view SYSDATABASEVARIABLE.

Native PIVOT / UNPIVOT expressions in the engine.

5. Interfaces & Development

5.1 Drivers & Frameworks

Node.js drivers up to v8; 0.10/0.12/4.x are removed.

Support for PHP 7 and the .NET Core provider; .NET 4.0 is deprecated.

Official DataNucleus and OpenJPA JPA adapters.

5.2 Advanced SQL

%TYPE / %ROWTYPE à la PL/SQL for column, variable and cursor typing by reference.

New JSON constructors; ROW() now accepts zero arguments to return an empty composite value.

6. Synchronisation & Mobility

6.1 MobiLink

allow_expired_certs (client) and cookies session_id_cookie / client_id_cookie to persist IDs across HTTP calls.

Oracle 18c and SQL Server 2017 added as consolidated DBs; 32-bit MobiLink server and AIX support dropped.

mltemplate utility for mass script/object generation.

6.2 UltraLite

Page-checksum on by default, multi-DB concurrency, C++ GetBytes/SetBytes for blob manipulation.

Android x86 and UWP (replacing Windows Phone 8.1) support.

7. Miscellaneous & Quality of Life

MiniDumpType (-md NORMAL|FULL) to size crash dumps.

ST_IsIndexable to validate geometries before inserting into a spatial index.

Backup/Recovery documentation re-organised with tool- and backup-type navigation, plus harmonised terminology.

Recommended Next Steps

  • Update start-up scripts (-cdb, min_tls_version=1.2, CommonCryptoLib presence).
  • Train staff on targeted Profiler and the COCKPIT_ROLE model.
  • Benchmark parallel recovery on a non-critical backup to measure RTO improvements.
  • Revisit client connections: enable plan cache, raise max_query_tasks, test ClientAutocommit.
  • Schedule a security audit: expired certificates, MobiLink digital signatures, AES keys, SSL 3.0 removal.
  • Refresh frameworks (Node.js, PHP, .NET, JPA) and re-compile where needed.

To Learn More

You can consult the official documentation on what's new in SQL Anywhere 17: