2

적절한 인수를 사용하여 isql.exe을 호출하는 C# 응용 프로그램을 작성했습니다.isql.exe (명령 줄)를 사용하여 Sybase 15 데이터베이스를 파일로 /에서 파일을 백업/복원하는 방법은 무엇입니까?

I가 준수해야 할 인터페이스 : http://technet.microsoft.com/en-us/library/ms186865.aspx

내가하는 방법을 함께했다 :

public void Backup(string serverName, string databaseName, string userName, string password, string backupDestinationPath); 

    public void Restore(string serverName, string databaseName, string userName, string password, string restoreSourcePath); 

이미 그들은 같은 큰 문서를 가지고 MSFT의 SQL 서버 2008이 구현 한 그것은 (SQL Server 용)을 수행

BACKUP DATABASE MY_DB 
TO DISK = 'C:\Temp\MY_DB.bak' 
WITH INIT, SKIP, NOFORMAT, NOUNLOAD, 
CHECKSUM, STOP_ON_ERROR, 
NAME = 'MY_DB.bak', 
DESCRIPTION = 'Backup of MY_DB.'; 

RESTORE DATABASE MY_DB 
FROM DISK = 'C:\Temp\MY_DB.bak' 
WITH REPLACE, RECOVERY; 

을 그래서 같이 호출 (윈도우 배치 파일 구문) :

sqlcmd -E -S %SERVERNAME% -U %USER% -P %PASSWORD% -d master -Q "%SQL_BACKUP_CMD%" 

SyBase에 대해이 작업을 수행하는 방법에 대해 온라인에서 많은 것을 찾을 수 없었습니다.

편집 :

지금 명령 줄에서이 작업을 수행 할 수 있습니다. 선택적으로 나는 -o 플래그 또는 출력 리디렉션을 사용할 수 있습니다

isql.exe -S {serverAlias} -U {user} -P {password} -i syb_bak.sql 
isql.exe -S {serverAlias} -U {user} -P {password} < syb_bak.sql 

: 나는 두 가지 방법 중 하나를 사용하여 명령 줄에서 그것을 호출 다음

dump database mydb to "D:\Temp\mydb.bak" 
go 
exit 

: 우선이 포함 된 파일 이름 syb_bak.sql을 만들 출력을 얻기 위해 >.

놀랍게도 백업 파일이 클라이언트가 아닌 서버쪽에 덤프되고 있다는 것을 제외하면 모든 것이 훌륭하게 작동합니다.

답변

3

덤프 데이터베이스 명령

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands54.htm

f.e.

덤프 데이터베이스 DB는 "는/dev/nrmt0"초기화와

데이터베이스

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.ase_15.0.commands/html/commands/commands64.htm

f.e.를 복원하는 방법

"/ dev/nrmt0"의 데이터베이스 데이터베이스

+0

Tovarisch! 테이프 드라이브가 아닌 디스크에 파일을 덤프하는 경우 "init"옵션을 사용해야합니까? 그건 그렇고, 나는 Windows에서이 일을하고 있지만 이것은 구문에 영향을 미치지 않을 것입니다. –

+1

Windows에서 파일 덤프 덤프 데이터베이스 DB를 "c : \ bakups \ db.dat" – kolchanov