如何使用命令行备份带日期/时间戳的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 )
尝试了一下并删除了它,但是仍然存在一些错误,它抱怨带有“ /”的一些语法错误
有人可以帮忙吗?谢谢。
答案 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 '/'.