Sybase SnapSync Fails with "Incorrect syntax near '-'" when Using a Remote Backup Server (KBA1315)
- Last updated
- Save as PDF
Issue
SnapSync jobs for a Sybase ASE dSource fail with a message similar to that below. The dSource has been configured to obtain database backup files from a remote backup server and a SnapSync job is being run to apply an existing backup to the staging database.
Run SnapSync for database "bucks". Failed to restore the header for dump file "/syb_backups/bucks_full_2.dmp": 102: Incorrect syntax near '-'. Make sure the file exists and the backup location for the dSource and its contents are accessible and correct. Then perform a sync on the dSource.
The fault message may also report a syntax error near '.', as below.
Run SnapSync for database "bucks". Failed to restore the header for dump file "/syb_backups/bucks_full_2.dmp": 102: Incorrect syntax near '.'. Make sure the file exists and the backup location for the dSource and its contents are accessible and correct. Then perform a sync on the dSource.
Troubleshooting
The failure occurs as the database is trying to populate metadata for the dump file via a LOAD DATABASE statement. Check the configuration of the remote backup server for the dSource. This information is not currently displayed in the Delphix Admin GUI but it is accessible via the CLI.
- Log into the CLI as the delphix_admin
user.
- Select the dSource and list its properties.
delphix.engine> source delphix.engine source> select bucks delphix.engine source 'bucks'> ls Properties type: ASELinkedSource name: bucks config: bucks container: bucks dumpCredentials: (unset) externalFilePath: (unset) linked: true loadBackupPath: /syb_backups loadLocation: type: ASEBackupLocation backupHost: ASESRC backupHostUser: ASESRC/delphix_os backupServerName: sybase-source-host.example.com operations: type: LinkedSourceOperations postSync: (empty) preSync: (empty) reference: ASE_LINKED_SOURCE-2 restoration: false runtime: type: ASESourceRuntime accessible: true databaseSize: 350MB durabilityLevel: FULL enabled: ENABLED status: RUNNING truncateLogOnCheckpoint: false staging: false stagingSource: dxvfz5a6deq1Al89Tb_bucks status: DEFAULT virtual: false
Resolution
The loadLocation property defines the remote backup server configuration. In this example, the backupServerName has been set to the hostname of the source system. This leads to a syntax error when a hyphen or a dot is encountered in the backupServerName value. This property should be set to the name of the backup server instance running on the specified host. In this example, the value should be 'RH65_ASE16_S1_BS'
. This can be corrected via the CLI using the following commands.
delphix.engine> source delphix.engine source> select bucks delphix.engine source 'bucks'> update delphix.engine source 'bucks' update *> set loadLocation.backupServerName=RH65_ASE16_S1_BS delphix.engine source 'bucks' update *> commit
For Delphix versions from 4.1 to 4.3, these properties are available in the CLI under monitorLocation rather than loadLocation. This specifies the location to monitor for backups following the initial load. The initial load backup server can be specified via the loadBackupServerName property which has been removed from version 5.
If the backup server configuration has been confirmed to be correct and the problem persists, please open a Delphix Support case for further assistance.