CREATE PROCEDURE [dbo].[backstore] AS
declare @strback varchar(2000)
declare @bakstr varchar(128)
set @bakstr=convert(varchar,getdate(),12)+convert(varchar(10),datename(hh,getdate()))+convert(varchar(10),datename(mm,getdate()))+convert(varchar(10),datename(ss,getdate()))
set @strback='BACKUP DATABASE [数据库名] TO DISK = N''E:\'+@bakstr+'数据库名'' WITH NOINIT , NOUNLOAD , NAME = N''数据库名 备份'', NOSKIP , STATS = 10, NOFORMAT'
--select @strback
exec (@strback)
GO
请教一下上面这段代码是什么含义?
它执行后的效果是什么?
declare @strback varchar(2000)
declare @bakstr varchar(128)
set @bakstr=convert(varchar,getdate(),12)+convert(varchar(10),datename(hh,getdate()))+convert(varchar(10),datename(mm,getdate()))+convert(varchar(10),datename(ss,getdate()))
set @strback='BACKUP DATABASE [数据库名] TO DISK = N''E:\'+@bakstr+'数据库名'' WITH NOINIT , NOUNLOAD , NAME = N''数据库名 备份'', NOSKIP , STATS = 10, NOFORMAT'
--select @strback
exec (@strback)
GO
请教一下上面这段代码是什么含义?
它执行后的效果是什么?
名称是用日期时月秒拼接的,估计是写错了,mm改成mi的话就是时分秒了
我觉得这里还少一个参数那就是数据库名,改成以下的语句应该可以了CREATE PROCEDURE [dbo].[backstore] @databasename varchar(50)
AS
declare @strback varchar(2000)
declare @bakstr varchar(128)
set @bakstr=convert(varchar,getdate(),12)+convert(varchar(10),datename(hh,getdate()))+convert(varchar(10),datename(mm,getdate()))+convert(varchar(10),datename(ss,getdate()))
set @strback='BACKUP DATABASE '+@databasename+' TO DISK = N''E:\'+@bakstr+@databasename+'.bak'' WITH NOINIT , NOUNLOAD , NAME = N'''+@databasename+''', NOSKIP , STATS = 10, NOFORMAT'
--select @strback
exec (@strback)
GO
CREATE PROCEDURE [dbo].[backstore] AS
declare @strback varchar(2000)
declare @bakstr varchar(128)
set --如果备份时间是2013-1-11 13:13:07,那么下面的语句执行后@bakstr = 13011113017
@bakstr=convert(varchar,getdate(),12)+convert(varchar(10),datename(hh,getdate()))+convert(varchar(10),datename(mm,getdate()))+convert(varchar(10),datename(ss,getdate())) --拼接备份命令 利用上面的参数作为路径一部分
set @strback='BACKUP DATABASE [数据库名] TO DISK = N''E:\'+@bakstr+'数据库名'' WITH NOINIT , NOUNLOAD , NAME = N''数据库名 备份'', NOSKIP , STATS = 10, NOFORMAT'
--select @strback
exec (@strback)
GO
2、备份文件将会在SQLServer所在的机器上生成。
3、你要替换里面的[数据库名]
4、你可以用SQLServer Management studio,做好备份的选择之后,点击上方的【脚本】,就可以拿那个来和这个对比一下了。