Manage, Synchronize and Exchange Data

What’s new in SAP SQL Anywhere 16?

Quick Overview

Version 16 modernises the platform in four big ways:

  1. A brand-new Role-Based Access Control security model,
  2. Significant optimizer and parallel-execution gains,
  3. First-party web integration through a built-in OData server, and
  4. Enterprise-grade diagnostics such as event tracing.

Support Packages up to build 1823 extend the picture with LDAP log-ins, disk sandboxing, RSA/AES crypto, multi-producer OData and more. Most benefits are turnkey after an upgrade + catalog rebuild, but security changes demand new GRANT/REVOKE statements and sometimes a review of certificate stores.

1. Security & Governance

1.1 Role-Based Access Control (RBAC)

16 replaces the old "authorities & permissions" model with system privileges, roles and role administrators, giving one privilege per sensitive operation (eg ALTER ANY TABLE) and bundled roles for convenience.

New object-level privileges LOAD and TRUNCATE let you grant bulk-load or quick-purge rights without full DDL access.

GRANT / REVOKE syntax, system views (SYSROLEGRANT*, SYSGROUP*) and Sybase Central wizards were overhauled to manage the new model.

1.2 Enterprise authentication

LDAP-based database logins arrive with new root-policy options (ldap_primary_server, auto-fail-back, etc.), DDL (CREATE LDAP SERVER … VALIDATE) and the SYSLDAPSERVER catalog.

Clients can also authenticate via PAM (Unix/Linux) or OS certificate stores; the server will look up trusted roots automatically when trusted_certificates=* is set.

1.3 Fine-grained secure-feature keys & disk sandboxing

DBAs can mint custom secure-feature keys that unlock only selected features for a user (sp_create_secure_feature_key, etc.).

Disk sandboxing (server -sbx, DISKSANDBOX on START DATABASE) confines read-write operations to the database directory and is itself protected by two new secure-features.

1.4 Cryptography refresh

OpenSSL replaces Certicom; ECC is withdrawn, TLS 1.1 is added, and FIPS deployments must switch to AES-encrypted identity files.

New RSA helpers (sp_generate_key_pair, SECURE_SIGN_MESSAGE, …) enable message signing and asymmetric encryption inside the engine.

2. Performance & Core Engine

2.1 Optimizer & scheduler

The cost-based optimizer now evaluates non-left-deep join trees, cutting run-time on star and snowflake queries.

Topology-aware scheduling binds workers to a single core per socket before spilling to siblings, reducing NUMA cross-talk; it is toggled via sa_server_option('TopologyScheduler','ON|OFF').

sa_cpu_topology and the -gta option let you hot-add or retire CPUs without restarting.

2.2 Composite ROW & ARRAY types

Native ROW() and ARRAY[…] columns, variables and domains replace VARCHAR-lists; they can be UNNESTed in SQL and passed as IN/OUT parameters.

2.3 Bigger packets, leaner cache

Max packet size up from 16 kB to 65 535 bytes for both client libraries and TDS gateways.

Initial cache is now decoupled from the configured max cache, avoiding oversized warm-starts.

3. SQL, APIs & Development

3.1 Language additions

Domains can store ROW/ARRAY definitions; CREATE ROLE, ALTER ROLE, DROP ROLE manage custom roles.

Parameterised statements in the graphical plan viewer now display the parameterised form, easing plan-cache debugging.

3.2 Driver & framework support

Official drivers for Node.js ≤ v8 and PHP 7 ship out of the box; JDBC and ODBC gain TIMESTAMPADD/DIFF escapes and the optional ClientAutocommit connection flag.

3.3 Remote data & HANA connectivity

A new HANAODBC server class makes SAP HANA a first-class remote source (statement snippets in § 1 of the PDF).

4. Web, Services & Integration

4.1 Built-in OData server

The database can now host multiple OData Producers directly, backed by an embedded Jetty HTTP stack; start-up is via -xs odata(...) or SQL DDL (CREATE ODATA PRODUCER).

Support Packages add optimistic concurrency (ETags), CSRF tokens, deep inserts and richer OSDL mapping.

4.2 Web-service improvements

webservice_sessionid_name lets you rename the cookie used for HTTP session tracking, avoiding clashes with proxies or SSO gateways.

5. Monitoring & Diagnostics

5.1 Event tracing

Fine-grained event tracing logs system- or user-defined events to ETD files via CREATE TEMPORARY TRACE EVENT SESSION, secure-feature trace_system_event, and helper procedures (sp_trace_*).

5.2 MobiLink Profiler

The ageing MobiLink Monitor is retired; the new Profiler stores detailed timing/bottleneck data in a SQL Anywhere DB and offers blocking analysis.

5.3 Utility tweaks

dbunload -ss suppresses column-statistics generation, dbspawn returns an explicit EXIT_SERVER_NAME_IN_USE when a duplicate server starts, and createcert/viewcert support PKCS-1 private keys.

6. Administration & Tools

Disk sandboxing settings can be toggled live through sa_server_option / sa_db_option, protected by the manage_disk_sandbox secure feature.

A revamped Sybase Central manages roles/privileges, LDAP servers and text indexes on materialised views; Interactive SQL tests ODBC/UltraLite DSNs inline.

New server switches: -al for mixed DBA/standard log-in, -ufd for fatal-error policy, multiple -xs to listen on several protocols, and -edi for database isolation.

7. Mobility & Sync

7.1 MobiLink 16 highlights

LDAP authentication hooks (ml_add_ldap_server) and relay-server parity with SQL Anywhere's new crypto stack.

Profiler-based diagnostics, TLS certificate options, offline-log retrieval through the server, and fresh CLI switches for mluser / mlreplay.

7.2 UltraLite

Android x86, UWP and AES-256 on BlackBerry are now included; syssyncresult surfaces user-auth messages to the client.

8. House-keeping & Behaviour changes

System procedures default to invoker-rights in new databases unless you specify SYSTEM PROCEDURE AS DEFINER, tightening privilege leakage.

Passwords are case-sensitive by default; minimum length rises to 3 chars.

ECC removal, bigger default cache minimum (64 MB) and packet-size limits affect mixed-version fleets.

Suggested next steps

  • Audit roles and policies before upgrading—replace DBA authorisations with least-privilege grants.
  • Enable event tracing on a staging server to baseline performance.
  • If you expose REST endpoints, trial the native OData Producer to remove the standalone utility.
  • Benchmark array/row queries and consider refactoring VARCHAR-list columns.
  • Refresh certificates to AES, drop ECC keys, and set TLS minimums to 1.1+.
  • Plan for disk sandboxing in production to confine file access by the engine.