SQL语句数据库备份及清除
SQL语句备份数据库,以及定期清除备份文件
1.select * from sys.configurations where name='xp_cmdshell'
首先查看xp_cmdshell的value值,如果是1,则可以删除文件,如果为0,则需要修改它的值
执行下面的SQL语句即可:
EXEC sp_configure 'show advanced options',1
GO
reconfigure
go
exec sp_configure 'xp_cmdshell',1
go
reconfigure
go
--开启数据库删除文件的权限
2.数据库备份和定期清除
declare @data_ago nvarchar(500)
declare @cmd nvarchar(500)
set @data_ago='C:\bak\AP_Attendance数据库备份'+convert(char(8),getdate()-7,112)+'.bak'
set @cmd = 'del '+@data_ago
exec master..xp_cmdshell @cmd
DECLARE @strPath NVARCHAR(200)
set @strPath='C:\bak\AP_Attendance数据库备份'+convert(char(8),getdate(),112)+'.bak'
BACKUP DATABASE [AP_Attendance] TO DISK=@strPath WITH NOINIT,NOUNLOAD,NOSKIP
说明: [AP_Attendance]是备份的数据库名称;两个路径必须正确(文件夹要先建好)。