DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '.')
set @strPath = 'E:/sqlbacupk/' + @strPath + '.bak'
BACKUP DATABASE [ databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '.')
set @strPath = 'E:/sqlbacupk/' + @strPath + '.bak'
BACKUP DATABASE [ databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
其中E:/sqlbacupk/是备份文件存放的路径,备份文件后缀名是.bak
databasename是要备份的数据库的名字
删除过期备份
declare @dt datetime
select @dt=getdate()-1
EXECUTE master.dbo.xp_delete_file 0,N'E:/sqlback/',N'BAK',@Dt
在代码中尽量不要使用xp_cmdshell,查询管理器中会提示
消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行
SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
关于作业,正确的作业代码是可以在查询管理器中执行的。