如何删除请求的备份文件(.bak)?

时间:2011-06-05 12:55:33

标签: sql-server sql-server-2005

我正在使用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操作,但问题是它不能只删除一个文件(请求的文件)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用xp_cmdshell生成Windows命令shell并执行给定的字符串,如:

xp_cmdshell 'del "E:\Database Backups\Some Database Backup.bak"'

结合您的代码来确定默认备份文件夹,您可以构造相应的字符串来删除特定文件。

请注意,出于安全原因,默认情况下xp_cmdshell被锁定(显然,运行任意命令字符串都会很糟糕)。