我正在使用SQL Server 2005及更高版本,我想知道是否有办法从默认的SQL备份文件夹中删除特定的备份文件......
我可以使用以下查询找到备份文件夹:
EXEC master.dbo.xp_instance_regread
N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer',N'BackupDirectory'
我找到的唯一方法是使用master.dbo.xp_delete_file操作,但问题是它不能只删除一个文件(请求的文件)。
有什么想法吗?
答案 0 :(得分:1)
您可以使用xp_cmdshell
生成Windows命令shell并执行给定的字符串,如:
xp_cmdshell 'del "E:\Database Backups\Some Database Backup.bak"'
结合您的代码来确定默认备份文件夹,您可以构造相应的字符串来删除特定文件。
请注意,出于安全原因,默认情况下xp_cmdshell
被锁定(显然,运行任意命令字符串都会很糟糕)。