cancel
Showing results for 
Search instead for 
Did you mean: 

How to use isql to backup?

Former Member
5,901

Hello,

My configuration: Sybase Adaptive Server Anywhere 7, version 7.0.4.3472 Windows Server 2008 R2 Standard Edition 64 bit Physical memory : 2GB

My working directory has the following 4 files: dbtl50t.dll isql.exe asa_bkup.bat asa_bkup.sql

asa_bkup.bat

set CONN="eng=eng03;dbn=db03;uid=user03;pwd=xyzabc"
isql.exe -c %CONN% -d asa_bkup.sql

asa_bkup.sql

BACKUP DATABASE DIRECTORY 'D:\\bkup_data\\001'

I double-clicked asa_bkup.bat but it said : "unable to start database engine." I clicked OK and it displayed another windows to me:

Interactive SQL Login

User ID: user03
Password: **
Connection Name: (blank, waiting for my entry but I don't know what should I enter)
Database Name: db03
Database File: db03.db
Server: eng03
Startline: (blank, waiting for my entry but I don't know what should I enter)

I enteried arbitrary values to Connection Name and Startline but it still didn't work. Could you tell are there any wrong in the asa_bkup.bat file?
How to use isql to backup a Sybase Anywhere database?

MCMartin
Participant
0 Kudos

Are you able to start the database db03 using dbeng7?

Former Member
0 Kudos

Thanks for all of your replies. I already know how to do offline backup. Thanks a lot. However, I don't understand why my old server (Windows 2003 Server, 32-bit) could run dbbackup smoothly but my new server (Windows 2008 Server R2, 64-bit) can't use dbbackup nor isql. Dear Volker, I run my isql directly on the database server, so i don't need the LINKS or CommLinks parameter. I don't understand why it always prompt : unable to start database engine and ask me: Connection Name, Startline, what are they?

VolkerBarth
Contributor
0 Kudos

Connection Name, Startline, what are they?

The connection name is optional - you can simply give your connection a need. If you don't fill that value, the database engine (or the client?) will generate a name automatically.

The startline would only be required to start a database engine - it's the command line used to start the dbsrv7.exe. However, as you attempt to connect to an already running database on a running database engine, you surely don't want to specify a startline.

Note: In case the database server is running as a service or in a different session on W2K8 R2, the OS might prevent connections from shared memory clients under some circumstances, so I would still suggest to add the LINKS=TCPIP parameter - and I would additionally suggest to add LOG=MyLog.txt to enable client-side debugging output.

AFAIK, newer Windows OSes separate services from normal applications stricter than W2K3 has done.

VolkerBarth
Contributor
0 Kudos

Some further links on that:

Former Member

Thanks for your reply. I just found Sybase ASA 7.0 is not supported in Windows Server 2008 R2 64-bit and it has to be set "End of Support" since 2005-04-01. I will choose the offline backup method and will not study the dbbackup and isql methods.

Thanks all of you.

VolkerBarth
Contributor
0 Kudos

is not supported ... and has been EOLed ...

Note: That does not necessarily mean it will not work - it's just not officially supported (and that's no surprise when the EOL date was years before the according OS has been released:), and any issues won't be fixed anymore.

Accepted Solutions (0)

Answers (2)

Answers (2)

VolkerBarth
Contributor

Do you run this batch on the W2K8 Server or on a different box? - In the latter case, you may need to add a further connection parameter to enable network connections, namely "LINKS=TCPIP" or "CommLinks=TCPIP", such as the modified line from you batch

set CONN="eng=eng03;dbn=db03;uid=user03;pwd=xyzabc;LINKS=TCPIP"

From the v8 docs:

If you do not specify a CommLinks (LINKS) connection parameter, the client searches for a server on the current machine only, and only using a shared memory connection. This is the default behavior, and is equivalent to CommLinks=ShMem. The shared memory protocol is the fastest communication link between a client and server running on the same machine, as is typical for applications connecting to a personal database server.

So without that parameter, ISQL can only connect to a local database engine on the same box.

Breck_Carter
Participant

If the database is not running, just do a file copy of the *.db and *.log file.

VolkerBarth
Contributor

To add: The fact that you get the message "unable to start database engine" is a clue that the database you are attempting to connect to (named "db03") may not be currently running. And for non-running databases, just copying the files is the easiest method to do a backup - no need to mess around with DBBACKUP or BACKUP statements:)