如何用 date/time stamp 备份 sybase 数据库

How to backup sybase database with date/time stamp

如何使用命令行用 date/time 戳备份 sybase 数据库?

看到有人发了这个方法: declare @pvm varchar(30), @dumptorun varchar(300), @dbname varchar(70) select @pvm=(CONVERT(varchar(30), GETDATE(), 112)) select @dbname='master' select @dumptorun = 'dump database '+@dbname+' to d:\temp\'+@dbname+'_'+@pvm+'.dmp' select @dumptorun EXEC ( @dumptorun )

尝试过并删除了 go,但仍然存在一些错误,它抱怨一些带有“/”的语法错误

有人可以帮忙吗?谢谢

declare @pvm varchar(30), @dumptorun varchar(300), @dbname varchar(70) select @pvm=(CONVERT(varchar(30), GETDATE(), 112)) select @dbname='TOB' select @dumptorun = 'dump database '+@dbname+' to /backup/DB/'+@dbname+'_'+@pvm+'.dmp' select @dumptorun EXEC ( @dumptorun ) go

Msg 102, Level 15, State 181: Server 'SOL', Line 1: Incorrect syntax near '/'.

declare @pvm varchar(30), @dumptorun varchar(300), @dbname varchar(70)
select @pvm=(CONVERT(varchar(30), GETDATE(), 112))
select @dbname='master'
select @dumptorun = "dump database " + @dbname + " to '/backup/DB/"+ @dbname+"_"+ @pvm + ".dmp'"
select @dumptorun
EXEC ( @dumptorun )

这适用于 Unix - 您需要针对 windows 进行调整,因为您的原始问题有一个 windows 目录,但您的答案似乎暗示了一个 unix 目录类型,因此需要斜杠和驱动等要改变。

关键是您需要在备份文件名周围加上引号,所以我只是将您的连接字符串更改为双引号,以便更容易添加您需要的单引号。