如何使用日期/时间戳备份sybase数据库

时间:2018-11-12 15:35:18

标签: database backup sybase

如何使用命令行备份带日期/时间戳的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 )

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

有人可以帮忙吗?谢谢。

2 个答案:

答案 0 :(得分:1)

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目录类型,因此需要更改斜杠和驱动器等。

关键是您需要在备份文件名两边加上引号,因此我只是将串联的字符串更改为双引号,以便更轻松地添加所需的单引号。

答案 1 :(得分:0)

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 '/'.