我把你的这段 declare @sql varchar(8000)
set @sql ='e:\sjk\sj'+convert(char(8),dateadd(h,-6,getdate()),112)+replace(convert(char(6),dateadd(h,-6,getdate()),108),':','')+'.bak'
exec xp_cmdshell 'del '+@sql 放在 declare @htwb varchar(100)
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init后面,但是显示“服务器检测到命令中有以下语法错误:
错误155:'h'不是可以识别的dateadd选项。
也就是在企业管理器里的作业中的步骤的命令中这样写:
declare @htwb varchar(100)
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init
declare @sql varchar(8000)
set @sql ='e:\sjk\sj'+convert(char(8),dateadd(h,-6,getdate()),112)+replace(convert(char(6),dateadd(h,-6,getdate()),108),':','')+'.bak'
set @sql ='e:\sjk\sj'+convert(char(8),dateadd(h,-6,getdate()),112)+replace(convert(char(6),dateadd(h,-6,getdate()),108),':','')+'.bak'
exec xp_cmdshell 'del '+@sql 放在 declare @htwb varchar(100)
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init后面,但是显示“服务器检测到命令中有以下语法错误:
错误155:'h'不是可以识别的dateadd选项。
也就是在企业管理器里的作业中的步骤的命令中这样写:
declare @htwb varchar(100)
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init
declare @sql varchar(8000)
set @sql ='e:\sjk\sj'+convert(char(8),dateadd(h,-6,getdate()),112)+replace(convert(char(6),dateadd(h,-6,getdate()),108),':','')+'.bak'
解决方案 »
- 谁能帮我指出我写的存储错在哪里!或者帮忙写一下!
- 请问此功能如何实现?
- 更改条件再新开一贴,求一SQL语句!急,解决马上揭贴!!!主要是连续问题,不知如何写SQL语句? 只有20分了!原贴http://community.csdn.net
- 请教一个小问题!!!
- 安装sql server 2005时出现错误
- 这个问题有点棘手
- 在SQL脚本中如何启动服务管理器?
- 昨晚干了上通夜,因为锁的问题,还是没干好???
- 请高手指点, 如何更够使我用vc++编写的软件买到二十万?
- VB中如何解决两个用户同时对一个记录操作的冲突问题?
- 怎样去掉自连接后的重复行啊???在线等!!!!!
- 关于ASP+SQL 2000的毕业设计问题,急!
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init
declare @sql varchar(8000)
set @sql ='e:\sjk\sj'+convert(char(8),dateadd(hh,-6,getdate()),112)+replace(convert(char(6),dateadd(hh,-6,getdate()),108),':','')+'.bak'
exec xp_cmdshell 'del '+@sql
放这个提示:错误170:第六行:' '附近有语法错误
再重新敲一个空格
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init
declare @sql varchar(8000)
set @sql ='del e:\sjk\sj'+convert(char(8),dateadd(hh,-6,getdate()),112)+replace(convert(char(6),dateadd(hh,-6,getdate()),108),':','')+'.bak' exec master..xp_cmdshell @sql
set @htwb='e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
backup database htwb to disk=@htwb with init
declare @sql varchar(8000)
set @sql ='del e:\sjk\sj'+convert(char(8),dateadd(hh,-6,getdate()),112)+replace(convert(char(6),dateadd(hh,-6,getdate()),108),':','')+'.bak' exec master..xp_cmdshell @sql
xp_cmdshell 后面的 空格有问题
另外以个就是 xp_cmdshell 后面不支持 字符串的拼凑...
declare @sql2 varchar(100)
set @sql1 = 'e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),getdate(),108),':','')+'.bak'
set @sql2 = 'del e:\sjk\sj'+convert(char(8),getdate(),112)+replace(convert(char(6),dateadd(hh,-6,getdate()),108),':','')+'.bak'
backup database test to disk = @sql1 with init exec xp_cmdshell @sql2